2017-01-05 17 views
0

私はUTF8のバイト表現を持っています。JavascriptのUTFコードからUTF8文字列を作成する

195, 156 for "Ü" (capital U Umlaut) 

これらの番号のうちJavaScriptで表示する文字列を作成する必要があります。失敗したものはすべて失敗しました。 私が見つけた方法は、 "195"をUTFの先頭バイトとして認識していましたが、mit "Ã"を与えました。

UTF8バイトのストリームから表示する文字列を取得するにはどうすればよいですか?

+0

「195」はどのように派生していますか? – guest271314

+0

HTA-EnvironmentのVBScript FileScriptingObjectを使用します。 – Frank34

+0

解決策はサーバーからも実行する必要があるため、ADODBを使用することはできません(ジョブを実行する)。 decodeURIComponent(escape(Text))で結果を変換すると、一部の文字に対してのみ機能します。 2番目のUTF8バイトを含むすべての文字が128-159の範囲内にあるため、decodeURIComponentがクラッシュするようです。 – Frank34

答えて

0

文字の1バイト構成要素の10進表現を使用しています。与えられた例では、195、156です。まず、基数16のC3、9Cに変換する必要があります。そこから、javascriptのdecodeURIComponent関数を使用することができます。

console.log(decodeURIComponent(`%${(195).toString(16)}%${(156).toString(16)}`)); 

あなたは文字の多くでこれをやっている場合は、おそらく文字列のエンコード/デコードを実装したライブラリを見つけたいです。たとえば、ノードのBufferオブジェクトは内部的にこれを行います。

+0

ありがとう、素晴らしい作品! – Frank34

関連する問題