"\u5546\u54c1\u7f16\u53f7"
显示为"商品编号"
。
"\u5546\u54c1\u7f16\u53f7" # => "商品编号"
"\u5546\u54c1\u7f16\u53f7"
中的字符编码是什么?如何将"商品编号"
转换为"\u5546\u54c1\u7f16\u53f7"
? 最佳答案
\uHHHH
(其中HHHH
是十六进制)表示法只是按数字引用Unicode字符的一种方法。通常在以下情况下使用:
你不知道如何从你的键盘中取出商
这样的东西。
您所处的环境无法显示所需的所有Unicode。
当您说"\u5546\u54c1\u7f16\u53f7"
并看到"商品编号"
时,这仅仅意味着您在一个支持unicode并具有良好字体的现代终端中工作。
在大多数情况下,您使用哪种表示应该很重要,它在机器中都以相同的字节结束。但是,如果出于某种原因必须获得\u
版本,那么您可以这样说(假设您的编码开始正确):
ascii_friendly = str.chars.map { |c| '\u%4.4x' % c.ord }.join
然后当您将
ascii_friendly
打印到屏幕、文件或json流时,您将看到如下内容\u5546\u54c1\u7f16\u53f7
注意,这里的
\u5546
不是单一的unicode商
,而是6个字符\
、u
、5
、5
、4
、6
和\u
。如果您的目标是json,那么当解析json时,转义将被正确地解释,但是如果您的目标是其他任何东西,那么它将只看到6个字符,而不是您正在寻找的单个unicode字符。关于ruby - 如何将“商品编号”转换为“\u5546\u54c1\u7f16\u53f7”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21695250/