JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptでBuffer(バッファ)を読み取り可能な文字列に変換する方法

Node.jsでBufferオブジェクトを人間が読める文字列に戻したい場合は、toString('utf8')メソッドを使います。このメソッドは、バッファ内のバイナリデータを指定した文字エンコーディングの文字列へ変換してくれます。

以下のコードでは、バッファの作成から文字列への復元、さらに各文字のASCIIコード確認まで、詳しく解説しています。

サンプルコード

var actualBufferObject = Buffer.from('[John Smith]', 'utf8')
console.log("The actual buffer object=");
console.log(JSON.stringify(actualBufferObject))
console.log("Get back the original object=");
console.log(actualBufferObject.toString('utf8'));
var myObjectValue = '[John Smith]';
console.log("The data you are getting from the buffer is equal to ASCII code equivalent...")
for (var counter = 0; counter < myObjectValue.length; counter++) {
    console.log("The ascii value of " + myObjectValue[counter] + " is ="
    + (myObjectValue.charCodeAt(counter)));
}

プログラムの実行方法

上記のプログラムを実行するには、次のコマンドを使用します。

node fileName.js

ここでは、ファイル名を「demo197.js」としています。

実行結果

上記のプログラムを実行すると、以下のような出力が得られます。

PS C:\Users\Amit\javascript-code> node demo197.js
The actual buffer object=
{"type":"Buffer","data":[91,74,111,104,110,32,83,109,105,116,104,93]}
Get back the original object=
[John Smith]
The data you are getting from the buffer is equal to ASCII code equivalent...
The ascii value of [ is =91
The ascii value of J is =74
The ascii value of o is =111
The ascii value of h is =104
The ascii value of n is =110
The ascii value of  is =32
The ascii value of S is =83
The ascii value of m is =109
The ascii value of i is =105
The ascii value of t is =116
The ascii value of h is =104
The ascii value of ] is =93

解説

まず、Buffer.from()を使って文字列「[John Smith]」からUTF-8形式のバッファオブジェクトを作成しています。JSON.stringify()で出力すると、バッファの中身は数値(バイト値)の配列として格納されていることがわかります。

次に、toString('utf8')を呼び出すことで、バッファ内のバイナリデータが元の読み取り可能な文字列「[John Smith]」に復元されます。第2引数でエンコーディングを指定しない場合も、デフォルトはUTF-8として扱われます。

最後のループ処理では、各文字に対してcharCodeAt()を使いASCIIコードを表示しています。出力結果の数値(91、74、111など)が、バッファのdata配列に格納されていた値と一致していることから、バッファとは文字を数値(バイト)の集合として保持する仕組みであることが確認できます。

  1. JavaScriptで文字列を真偽値(Boolean)に変換する方法

    JavaScriptでは、文字列が「true」というリテラルと一致するかどうかを比較演算子で判定することで、文字列を実質的に真偽値(Boolean)として扱うことができます。ここでは、==(緩い等価比較)と===(厳密等価比較)の2つの方法を使った具体例を紹介します。 サンプルコード <!DOCTYPE html> <html> <head> <style>     body {         font-family: &

  2. 文字列をJavaScriptオブジェクトに変換する方法【JSON.parse()の使い方】

    JavaScriptでJSON形式の文字列をオブジェクトに変換するには、JSON.parse()メソッドを使用します。このメソッドは、引数に渡された文字列を解析(パース)し、対応するJavaScriptオブジェクトを返します。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Docum