Ruby Ruby char ASCII 相互转换

saxer · 2015年05月14日 · 最后由 saxer 回复于 2015年05月26日 · 5809 次阅读

ASCII => char

97.chr       #=> "a"

char => ASCII

'a'.ord       #=> 97
'\t'.ord      #=> 92

字符串可以试试 pack/unpack

[104, 101, 108, 108, 111].pack 'c*'
'hello'.unpack 'c*'

有个简单通用的方法:

"中文abc".codepoints
=> [20013, 25991, 97, 98, 99]

倒过来:

 "中文abc".codepoints.map{|x| x.chr('UTF-8') }.join
=> "中文abc"
需要 登录 后方可回复, 如果你还没有账号请 注册新账号