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 に答える