utf 8 - 在javascript中将Unicode解码为字符
utf 8 - Decode Unicode to character in javascript
我有以下 unicode 序列:
d76cb9dd0020b370b2c8c758
我随机尝试了非英语字符(对于这个实验,我尝试了韩语语言)作为上述 unicode 行的原文:
희망 데니의
如何将上述 unicode 序列解码为原始形式?
作为 JavaScript 字符串文字,使用 'u
转义十六进制代码:
var koreanString = "'ud76c'ub9dd'u0020'ub370'ub2c8'uc758";
或者只需在字符串中输入韩语字符:
var koreanString = "희망 데니의";
要处理表示 unicode 字符的十六进制字符串,请将十六进制字符串解析为数字,然后生成 unicode 字符串使用 String.fromCharCode()
:
var hex = "d76cb9dd0020b370b2c8c758";
var koreanString = "";
for (var i = 0; i < hex.length; i += 4) {
koreanString += String.fromCharCode(parseInt(hex.substring(i, 4), 16));
}
编辑:您可以通过访问其length
属性来获取任何字符串的长度:
var stringLength = koreanString.length;
这将返回6
. 没有"英语"字符串。 您有一个表示十六进制数字的字符串,十六进制数字由拉丁字符集中的字符组成,但这些字符不是任何口语。 它们只是数字。 当然,您可以使用 length
属性获取十六进制字符串的长度,但我不确定为什么要这样做。 使用数字数组而不是字符串会更直接:
var charCodes = [0xd76c, 0xb9dd, 0x0020, 0xb370, 0xb2c8, 0xc758];
var koreanString = String.fromCharCode.apply(null, charCodes);
这样,charCodes.length
将与koreanString.length
相同。
怎么样
var str = 'd76cb9dd0020b370b2c8c758';
str = '"'+str.replace(/([0-9a-z]{4})/g, '''u$1')+'"';
alert(JSON.parse(str));
演示
相关文章:
- 在文本区域POST后解码JSON
- Json字符串可以'当字符串末尾有“'时,t解码;
- 无法呈现js unicode字符“u1F310”
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 正在将unicode转换为十六进制
- 如何将KSC5601转换为unicode
- Unicode字符未在HTML5画布中正确呈现
- 有更好的方法吗?(递归解析HTML unicode实体)
- 从Base64 Ionic编码和解码图像
- 如何在JS中编码URL并在PHP中解码
- 在服务器中编码,并使用escape在javascript中解码
- 使用javascript解码unicode字符串,不使用JSON
- 使用转义的unicode(5个字符)解码字符串
- 如何在PHP中将Javascript字符串编码为Unicode并将其解码为utf-8
- 我如何解码转义unicode javascript代码在Python
- 如何将Javascript Unicode解码为C#字符串
- 获取Unicode字符串的解码版本
- 解码unicode字符接收从android和ios的表情符号与javascript
- 如何解码一个字符串与unicode和utf-8在javascript
- utf 8 - 在javascript中将Unicode解码为字符