2

有什么方法可以调用"hello"'\u0068\u0065\u006c\u006c\u006f'

4

2 回答 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 回答