如何将字符串(每个字符2个字节),也就是在进入UCS2在Ruby中UTF8字符串转换?
Answer 1:
你应该考虑的iconv ,这是Ruby标准库的一部分。 它是专为这个任务。
特别,
Iconv.iconv("utf-8", "utf-16", str).first
应该处理的转换。
Answer 2:
由于在UCS2编码大多数情况下串字符可以(很少使用与比0x10000的大码UTF-16字符)被表示为UTF-16字符串我想用语言Iconv的是更好的方式转换成字符串。 示例代码:
require 'iconv'
ic = Iconv.new 'UTF-8', 'UTF-16'
utf8string = ic.iconv ucs2string
Answer 3:
随着Ruby 1.9的:
string.encode("utf-8")
如果字符串编码不知道,你可能需要先进行设定:
string.force_encoding("utf-16be").encode("utf-8") # Big-endian
string.force_encoding("utf-16le").encode("utf-8") # Little-endian
文章来源: How do I convert a UCS2 string into UTF8?