【问题标题】:Ruby encode UTF-8 string to UTF-16Ruby 将 UTF-8 字符串编码为 UTF-16
【发布时间】:2014-01-18 22:07:24
【问题描述】:

我想将 UTF-16 编码作为 UTF-8 字符串存储到另一个变量中。

1.9.3p194 :117 > str = "سلام"
 => "سلام" 
1.9.3p194 :118 > enc = str.encode("utf-16")
 => "\uFEFF\u0633\u0644\u0627\u0645" 
1.9.3p194 :119 > puts enc
??3D'E
 => nil 

我想将 \uFEFF\u0633\u0644\u0627\u0645(不是 ??3D'E)存储到 UTF-8 字符串中,以便能够将其与其他 UTF-8 字符串连接

【问题讨论】:

    标签: ruby encoding utf-8 character-encoding utf-16


    【解决方案1】:

    使用String#inspect:

    str = "سلام"
    # => "سلام"
    enc = str.encode("utf-16")
    # => "\uFEFF\u0633\u0644\u0627\u0645"
    puts enc
    # output: ▒▒3D'E
    # => nil
    puts enc.inspect
    # output: "\uFEFF\u0633\u0644\u0627\u0645"
    # => nil
    

    【讨论】:

      猜你喜欢
      • 2011-08-09
      • 2012-06-30
      • 1970-01-01
      • 2016-05-31
      • 1970-01-01
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 2011-08-27
      相关资源
      最近更新 更多