私は奇妙な状況に遭遇し、私の方法を理解できないようです。 UTF8文字を含む文字列があります(エスケープされています)。私はdecodeURIComponent(エスケープ(str))と他のいくつかの修正案を試しましたが、まだ成功しませんでした。JavascriptからVTFをUTF8の文字列に変換する
私は文字列を取り、エスケープされた文字を見つけて、まっすぐなUTF8に置き換えるためにこの関数を書いています。テストから
var unescapeUTF8 = function(str) {
var matches = str.match(/\\u.{4}/g);
if (matches == null) return str;
for (var item of matches)
{
// testing
console.log(new String(item));
}
....
....
....
};
、私は文字列オブジェクトString {0: "ģ", length: 1, [[PrimitiveValue]]: "ģ"}
を取り戻すだろうnew String("\u0123")
を行けば関係なく、私は上記の関数で文字列に何をすべきか、私はそれを得ることはできませんようだということを知っていますそれからの変換がģ
私は開発ツールを開いて実行することによって、私のブラウザで問題「を作成」に管理している
に\u0123
を逃れています
var x = "\\u0123";
console.log(x); // == "\u0123"
new String(x); // == String {0: "\", 1: "u", 2: "1", 3: "3", 4: "2", 5: "4", length: 6, [[PrimitiveValue]]: "\u1324"}
を次
誰もがUTF8の文字に「x」をしてください変換する方法を見つけ出すことができます...
と ''新しい文字列 ''は動作しません、それはその上に保持しているようです何とかどこかに接頭辞をつける。 – TolMera
[エスケープされたユニコードで文字列をデコードするにはどうすればいいですか?](https://stackoverflow.com/questions/7885096/how-do-i-decode-a-string-with-escaped-unicode)? –
'new String(" \ u")'が 'true 'なので、文字列が既に' new String( "\ u0123")== "\ u0123")であるため、新しい文字列 –