如何将中文十六进制字符串解码为中文字符或JavaScript?

古鲁维

我正在使用Rails应用程序。

我正在使用返回一些中国省份的API。API以十六进制字符串返回省份,例如:

{ "\xE5\x8C\x97\xE4\xBA\xAC" => "some data" }

我的JavaScript调用了一个返回该哈希值的控制器。我将所有省份字符串放入一个下拉列表,但这些字符串显示为黑色钻石,中间带有问号。我想知道如何将Ruby十六进制字符串转换为实际的中文字符北京吗?或者,如果可以,我可以将JavaScript中的十六进制字符串转换为中文字符吗?

亩太短

字节\xE5\x8C\x97是的UTF-8表示形式\xE4\xBA\xAC是的UTF-8表示形式所以这个字符串:

"\xE5\x8C\x97\xE4\xBA\xAC"

北京如果字节被解释为UTF-8。您看到的是十六进制代码而不是中文字符,这表明字符串的编码是二进制的:

> s = "\xE5\x8C\x97\xE4\xBA\xAC"
 => "北京" 
> s.encoding
 => #<Encoding:UTF-8> 
> s.force_encoding('binary')
 => "\xE5\x8C\x97\xE4\xBA\xAC"

因此,您正在使用的这个API讲的是UTF-8,但是您的应用程序却在某个地方丢失了该字符串应该编码的信息。如果您将编码强制为UTF-8,那么问题就消失了:

> s.force_encoding('utf-8')
 => "北京" 

您应该在应用程序从此远程API读取数据的边缘修复此编码问题。一旦完成,在您关心的所有地方,所有内容都应该是明智的UTF-8。这应该可以解决您的JavaScript问题,并且JavaScript非常乐于使用UTF-8。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将十六进制视为字符串?

来自分类Dev

如何将十六进制字符串转换为十六进制数字

来自分类Dev

如何将十六进制编码的字符串转换为十六进制整数

来自分类Dev

如何将十六进制编码的字符串转换为十六进制整数

来自分类Dev

十六进制到字符串中文,中文十六进制2字节,英语十六进制1字节?

来自分类Dev

Go-如何将包含十六进制字符的txt文件解码/转换为可读字符串

来自分类Dev

如何将密文打印为十六进制字符串?

来自分类Dev

如何将十六进制字符串转换/粘贴为vim中的字节列表?

来自分类Dev

如何将文件读取为字节,并找到匹配的十六进制字符串?

来自分类Dev

包含中文字符到ASCII的字符串

来自分类Dev

CreateWindowExA将常规字符串解释为Unicode,并在标题中显示中文字符

来自分类Dev

将十六进制字符串中的负数解码为浮点数?

来自分类Dev

如何将文本字符串转换为十六进制字符串?

来自分类Dev

如何将十六进制字符串转换为双精度字符串?

来自分类Dev

Java中的中文字符串处理?

来自分类Dev

如何将十六进制的 ipv6 字符串以 : 分隔为 PostgreSQL 中的十进制

来自分类Dev

通过servlet导出为CSV文件时,中文字符串显示为问号

来自分类Dev

Javascript unicode字符串,中文字符,但无标点符号

来自分类Dev

Javascript unicode字符串,中文字符,但不带标点符号

来自分类Dev

如何从十六进制编码的字符串解码为UTF-8字符串

来自分类Dev

将字符串编码为十六进制

来自分类Dev

将字符串编码为十六进制字节

来自分类Dev

如何将十六进制字符串转换为列表中的十六进制值块?

来自分类Dev

如何将十六进制字符串转换为字符?

来自分类Dev

如何将十六进制字符串转换为十进制

来自分类Dev

如何将十六进制字符串转换为十进制值

来自分类Dev

如何将 Flask 的 request.get_data() 中的原始数据解析为中文字符?

来自分类常见问题

如何将Node.js原始缓冲区数据显示为十六进制字符串

来自分类Dev

如何将十六进制数字字符串零填充为八位数字?

Related 相关文章

  1. 1

    如何将十六进制视为字符串?

  2. 2

    如何将十六进制字符串转换为十六进制数字

  3. 3

    如何将十六进制编码的字符串转换为十六进制整数

  4. 4

    如何将十六进制编码的字符串转换为十六进制整数

  5. 5

    十六进制到字符串中文,中文十六进制2字节,英语十六进制1字节?

  6. 6

    Go-如何将包含十六进制字符的txt文件解码/转换为可读字符串

  7. 7

    如何将密文打印为十六进制字符串?

  8. 8

    如何将十六进制字符串转换/粘贴为vim中的字节列表?

  9. 9

    如何将文件读取为字节,并找到匹配的十六进制字符串?

  10. 10

    包含中文字符到ASCII的字符串

  11. 11

    CreateWindowExA将常规字符串解释为Unicode,并在标题中显示中文字符

  12. 12

    将十六进制字符串中的负数解码为浮点数?

  13. 13

    如何将文本字符串转换为十六进制字符串?

  14. 14

    如何将十六进制字符串转换为双精度字符串?

  15. 15

    Java中的中文字符串处理?

  16. 16

    如何将十六进制的 ipv6 字符串以 : 分隔为 PostgreSQL 中的十进制

  17. 17

    通过servlet导出为CSV文件时,中文字符串显示为问号

  18. 18

    Javascript unicode字符串,中文字符,但无标点符号

  19. 19

    Javascript unicode字符串,中文字符,但不带标点符号

  20. 20

    如何从十六进制编码的字符串解码为UTF-8字符串

  21. 21

    将字符串编码为十六进制

  22. 22

    将字符串编码为十六进制字节

  23. 23

    如何将十六进制字符串转换为列表中的十六进制值块?

  24. 24

    如何将十六进制字符串转换为字符?

  25. 25

    如何将十六进制字符串转换为十进制

  26. 26

    如何将十六进制字符串转换为十进制值

  27. 27

    如何将 Flask 的 request.get_data() 中的原始数据解析为中文字符?

  28. 28

    如何将Node.js原始缓冲区数据显示为十六进制字符串

  29. 29

    如何将十六进制数字字符串零填充为八位数字?

热门标签

归档