加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用Ruby避免Unicode字符串?

发布时间:2020-12-16 21:34:55 所属栏目:百科 来源:网络整理
导读:我需要使用反斜杠将Unicode字符串编码/转换为转义的窗体.有人知道吗 解决方法 在 Ruby 1.8.x中,String#inspect可能是您正在寻找的,例如 multi_byte_str = "hello330271!"= "hello330271!" multi_byte_str.inspect= ""hello330271!"" puts multi_by
我需要使用反斜杠将Unicode字符串编码/转换为转义的窗体.有人知道吗

解决方法

在 Ruby 1.8.x中,String#inspect可能是您正在寻找的,例如
>> multi_byte_str = "hello330271!"
=> "hello330271!"

>> multi_byte_str.inspect
=> ""hello330271!""

>> puts multi_byte_str.inspect
"hello330271!"
=> nil

在Ruby 1.9中,如果你想要多字节字符的组件字节被转义,你可能会想说:

>> multi_byte_str.bytes.to_a.map(&:chr).join.inspect
=> ""helloxD8xB9!""

在Ruby 1.8和1.9中,如果您对(转义)unicode代码点感兴趣,则可以执行此操作(尽管它也可以转义为可打印的东西):

>> multi_byte_str.unpack('U*').map{ |i| "u" + i.to_s(16).rjust(4,'0') }.join
=> "u0068u0065u006cu006cu006fu0639u0021"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读