2015-12-21 21 views
0

我的代碼 -編碼爲Unicode UTF-8沒有工作

var utf8 = require('utf8'); 
var y = utf8.encode('एस एम एस गपशप'); 
console.log(y); 

輸入 -
एस एम एस गपशप

期待輸出 - \xE0\xA4\x8F\xE0\xA4\xB8\x20\xE0\xA4\x8F\xE0\xA4\xAE\x20\xE0\xA4\x8F\xE0\xA4\xB8\x20\xE0\xA4\x97\xE0\xA4\xAA\xE0\xA4\xB6\xE0\xA4\xAA

Example Encoding using utf8.js

輸出 -

à¤à¤¸ à¤à¤® à¤à¤¸ à¤à¤ªà¤¶à¤ª 

我在做什麼錯?請幫忙!

+1

FWIW,'\ x..'是***不是「UTF-8」***。爲了什麼目的,你試圖編碼這個字符串? – deceze

+0

@deceze你能告訴我這個編碼是什麼,如示例中所示。 – rahulroy9202

+0

http://www.utf8-chartable.de/unicode-utf8-table.pl?start=3584&number=128&utf8=string-literal – rahulroy9202

回答

1

該代碼似乎正在工作。該輸出看起來像UTF-8字節被解釋爲一些8位字符集,很可能是ISO-8859-1,這很容易被重複模式識別。

該示例輸出就是您將如何在源代碼中表示該字符串。

試試這個:

var utf8 = require('utf8'); 
var y = utf8.encode('एस'); 
console.log(y); 
console.log('\xE0\xA4\x8F\xE0\xA4\xB8'); 

你可能會看到相同的輸出兩次。

您可以使用查找表和charCodeAt函數輕鬆地編寫一些代碼來獲取該十六進制表單,但這是一種在JavaScript中表示字符串的非常不尋常的方式。例如,JSON要麼使用文字字符,要麼'\ uXXXX'轉義。