Ruby 请教下 Ruby 中如何将 UTF-8 编码的中文转为 Unicode 编码方式存在文件中

juhong · 2019年02月20日 · 最后由 juhong 回复于 2019年03月27日 · 456 次阅读

或者说如何用io将中文用unicode编码写入txt!! 目前用的是ruby2.0版本

共收到 3 条回复

utf8 已经是unicode了 你要说在win记事本打开,搜 utf8 with bom,就是在文本开头加一字节特殊的标记用来指定大小端

unicode是字符集

utf-8和utf-16是uncode的具体编码方式

utf-8中文用3个字节(好像不全是),英文用1个字节

pry(main)> '我'.encoding
=> #<Encoding:UTF-8>
pry(main)> '我'.bytes
=> [230, 136, 145]
pry(main)> 'a'.bytes
=> [97]

utf-16中文英文都是2个字节

pry(main)> '我'.encode("UTF-16BE").bytes
=> [98, 17]
pry(main)> 'a'.encode("UTF-16BE").bytes
=> [0, 97]

如果都是中文,utf-16编码可以让文件相对小些,不过感觉现在流行用utf-8

多谢,后来用的utf-16

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册