有什么方法可以调用"hello"
吗'\u0068\u0065\u006c\u006c\u006f'
?
问问题
408 次
2 回答
2
是和不是。String#codepoints
在整数数组中返回这些:
"hello".codepoints #=> [104, 101, 108, 108, 111]
如果您需要它作为转义序列,请尝试以下操作:
"hello".codepoints.map {|c| "\\u#{sprintf("%04x", c)}"}.join
如果你想要另一个解决方案(在评论中感谢@MattyK):
"hello".codepoints.map{|c| '\u%04X' % c}.join
于 2013-08-02T01:05:56.933 回答
1
像这样?
"hello".unpack('U*').map{ |i| "\\u" + i.to_s(16).rjust(4, '0') }.join
=> "\\u0068\\u0065\\u006c\\u006c\\u006f"
于 2013-08-02T01:04:45.427 回答