代码之家  ›  专栏  ›  技术社区  ›  TK.

了解字符串的含义

  •  2
  • TK.  · 技术社区  · 16 年前

    我有以下字符串 "\u3048\u3075\u3057\u3093" 作为JSONP中返回数据的一部分从web页面中删除。

    那是什么?它看起来像UTF8,但是它应该看起来像 "U+3048U+3075U+3057U+3093"

    \

    如何将其转换为人类可读的形式?

    3 回复  |  直到 16 年前
        1
  •  2
  •   the Tin Man    12 年前

    它是Unicode,但不是在UTF-8中,而是在UTF-16中。您可以忽略代理项对,将其视为Unicode代码字符的4位十六进制代码点。

    使用Ruby 1.9:

    require 'json'
    
    puts JSON.parse("[\"\\u4e00\",\"\\u4e8c\"]")
    

    印刷品:

    一
    二
    
        2
  •  4
  •   Álvaro González    16 年前

    这个 U+3048 语法通常用于表示字符的Unicode码位。这种码位是固定的,不依赖于编码(UTF-8,UTF-32…)。

    JSON字符串由Unicode字符组成,双引号、反斜杠和U+0000到U+001F范围内的字符(控制字符)除外。字符可以用以开头的转义序列来表示 \u

        3
  •  0
  •   Pete Kirkham    16 年前

    JSON中的Unicode字符转义为反斜杠u后跟四个十六进制数字。请参见上的字符串生成 json.org .