2015-12-21 30 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'转义。