SOH値 '\ u0001'のユニコードをAsciiに変換する必要があります。なぜこれは機能しないのですか?Javascript unicode to ASCII
var soh = String.fromCharCode(01);
それは '\ U0001'
または私は
var soh = '\u0001'
をしようとすると、それはスマイリーフェイスを返しますを返します。 ASCIIに
私はUnicodeが適切SOH値(空白印刷できない文字)になるために取得できますか
SOH値 '\ u0001'のユニコードをAsciiに変換する必要があります。なぜこれは機能しないのですか?Javascript unicode to ASCII
var soh = String.fromCharCode(01);
それは '\ U0001'
または私は
var soh = '\u0001'
をしようとすると、それはスマイリーフェイスを返しますを返します。 ASCIIに
私はUnicodeが適切SOH値(空白印刷できない文字)になるために取得できますか
JSにはASCII文字列はありません。本質的にUTF-16です。
ブラウザであなたは不運です。あなたがnode.jsをコーディングしているなら、あなたはラッキーです!
バッファを使用して文字列をオクテットにトランスコードし、任意の方法でバイナリデータを操作できます。しかし、いったんあなたがそれを乱したら、必ずバッファから有効な文字列を取り戻すことはできません。あなたはここでそれについての詳細を読む必要があるでしょう
いずれかの方法:ここ
https://mathiasbynens.be/notes/javascript-encoding
か:
https://nodejs.org/api/buffer.html
EDIT:あなたが言うコメントでnode.jsを使用するので、これは上の2番目のリンクからの抜粋です。
const bufferWithSOH = Buffer.from("string with \x01 SOH", "ascii");
これはそれを行う必要があります。そうのような一般的なエスケープシーケンス\x01
を使用する一般的なASCII文字列に埋め込まれたSOHの文字を作成するには
const buf5 = Buffer.from('test');
// Creates a Buffer containing ASCII bytes [74, 65, 73, 74].
。その後、bufferWithSOH
コンテンツをネットワーク、コンソール、ファイルストリームなどの出力ストリームに送信できます。
Node.jsのドキュメントは、Buffer
で文字列を使用する方法をガイドします。上の2番目のリンクを参照してください。
だろうが、バイトの配列のようになります。0x00 0x01
あなたが\u
と呼び出しの後にUnicodeコードポイントを抽出する必要がありますparseInt
を入力し、Numberからバイトを抽出します。 JavaScriptがこれに最適な言語ではないかもしれません。
ありがとう、私はちょっとJavascriptでつかまっていて、それを機能させるために必死です。これの例はありますか?私は実際にはASCII文字を扱ったことはないし、どんな助けでも大歓迎です。 –
あなたは何をしようとしていますか? –
私はC++サーバーに接続されているアプリケーション(Windowsのnodejsにあります)を持っています。問題はサーバーにメッセージを送信する際に、適切な "SOH" ASCII文字ではなく、スマイリーフェイスまたはユニコード( '\ 0001')はデリミタとして使用できません。私はそれが空白のスペースか、それがどんなキャラクターであろうと、C++アプリケーションのために読めるようにする必要があります。ありがとう! –
FWIWでは、[iconv-lite](https://github.com/ashtuchkin/iconv-lite)を使用して、ブラウザ内のエンコーディングとノード間のエンコーディングを変換することができます。 – mscdex
お役立ち情報ありがとう。 – pid
私はノードでやっていますが、ASCII文字で何もしたことはありません。SOH ASCII文字を適切に表示することは、一見不可能です。 –