JSONファイル&バフを読み書きするノード(nginxのは、中国のソリューションをログに記録します)

JSONファイル

JSONファイルを作成することによって開始し、ここでのGoogleプラグ(WEBフロントエンドアシスタント(Fehelper))をお勧めします、あなたはそれが自動的にコードをフォーマットし、入力ボックスにインターフェイスプラグから直接応答をコピーして、右上隅にすることができますJSON形式としてダウンロードしてください。JSONファイルが問題をダウンロードした。しかし、我々は、コメントを最初の行を削除する必要があります。

koa2フレームワークは、私が使用しているため、私は規則に従って文言を書いたkoa2

ノードファイル読み取り

1 
2
3
4
5
6
7
8
9
10
11
12
13
14

CONST = FSは必要'FSの');
constの readFileの= 関数 { 返す新しい約束機能拒否、決意を {


fs.readFile('./public/config/staff.json' 関数ERR、データ { 場合(ERR)リターン(エラー)リジェクト 決意(JSONの .parse(データ)); }); })}







聞かせて staffJsonは= 待つ readFileのを();

ノードライト・ファイル

1 
2
3
4
5
6
あなたが内容上書きしたい//query.staff
fs.writeFile('./public/config/staff.json'、query.staff、機能ERR { IF(ERR){ コンソールの.log(ERR)を; } } );




キャッチをしてみてください

同期動作を使用する場合は、任意の例外がスローされているキャッチが例外を処理するために使用することができるしてみてください

1 
2
3
4
5
6
7
8
9

CONST = FSは必要'FSの');

試す {
fs.unlinkSync('/ TMP /こんにちは'); コンソールの.log('が正常に削除を/ tmp /こんにちは'); } キャッチ(ERR){ //エラーを処理 }




バッファ

バッファクラスは、特別な格納バイナリデータバッファを作成するために使用され

文字コード

1 
2
3
4
5
6
7
constのBUF =バッファ。'runoob' 'ASCII' )。

//出力72756e6f6f62
。コンソールログ(BUF。ToStringメソッド'進'));

大コラム   ノードJSONファイルの書き込み&バフ(nginxの中国の解決ログ) Nクラス= "ライン"> //出力cnVub29i 。コンソールログ(BUF。ToStringメソッド'Base64で'));

重点

私はどのようにあなたが練習に行けば、nginxの埋葬のデータポイントを使用するように書かれている前の記事では、あなたが高いのnginxの中国語版が自動的にエンコードされますでしょう

解決この問題を解決する方法を見てみましょう

オプション1

nginxのの縮小版

通話データがデコードされると

あなたがエンコードがログインした後、中国の分割によると、「X」、「X」、「\ x」のかもしれません。

1 
2
ARRせ = 'DBxE6x8AxA5xE8xA1xA8'(.splitを'X')。
結果 = [];

Unicodeをエンコードする最初のパラメータ

1 
2
3
for (let i = 0; i < arr[0].length; i++) {
result.push(arr[0][i].charCodeAt());
}

剩下的参数中前两个字母进行16进制编码,后几个进行Unicode 编码

1
2
3
4
5
6
7
8
9
10
11
arr.forEach(function(item,index){
if(index != 0){
for (let i = 0; i < item.length; i++) {
if (i == 0 || i == 1) {
result.push(parseInt(item[0] + item[1], 16));
} else {
result.push(item[i].charCodeAt());
}
}
}
})

最后创建一个新的包含字符串 ‘buffer’ 的 UTF-8 字节的 Buffer

1
聞かせて BUF =バッファを。(ARR)。

中国を取得

1
聞かせて ZW = BUF。toString();

詳しいです

あなたが理解したい、我々はUTF-8エンコーディングを理解する必要があります上記の内容

エディタ:文字エンコーディングノート:ASCII、UnicodeとUTF-8

UTF-8

インターネットの普及は、統一されたコーディングが表示されます促しました。UTF-8は、インターネット上でUnicodeを使用して最も広く使用されている実装です。他の実装も、UTF-16、UTF-32が、インターネット上での基本的な必要性が含まれます。繰り返しますが、ここで関係、UTF-8 Unicodeは、実装の一つです。

UTF-8の最大の特徴は、可変長符号化であるということです。これは、バイト長がシンボルによって異なり、一つのシンボルの1〜4バイトであることができます。

UTF-8エンコーディング規則は、2つだけの非常にシンプルです。

1)単一バイトシンボルに対して、バイト0のセット、Unicodeにシンボルコードのバック7。だから、英語のアルファベットのため、UTF-8エンコーディングとASCIIコードが同じ(英語が空にデジタル一かではありませんnginxのログ)です。

2)シンボルnバイトを(N> 1)、最初のバイトの最初のnビットが1に設定され、N + 1ビットが0に設定され、後の最初の2つのバイトが均一セット10。残りのビットは言及されていない、すべてのUnicodeコードシンボル(コードの第2段階に相当します)。

おすすめ

転載: www.cnblogs.com/sanxiandoupi/p/11712875.html