使用utf8編碼,我知道如何從Ruby中獲得「 u20ac」?
a = "\u20ac"
#=> "€"
我想知道在那裏反正扭轉這一過程從字符串€得到「\ u20ac」?
像
a.get_encoding_method
#=> "\u20ac"
使用utf8編碼,我知道如何從Ruby中獲得「 u20ac」?
a = "\u20ac"
#=> "€"
我想知道在那裏反正扭轉這一過程從字符串€得到「\ u20ac」?
像
a.get_encoding_method
#=> "\u20ac"
escaped = '\u' + a.unpack('U')[0].to_s(16)
嘗試'\u%x' % a.ord
。 (假設你想結束一個帶有文字反斜槓和u
的字符串)。
您可以使用pack和unpack來回轉換。例如:
'€'.unpack('U*')
=> [8364]
[8364].pack('U*')
=> "€"
哇,作品像一個魅力!所以解壓縮('U')返回a的十進制utf8表示,然後將其轉換爲十六進制,不是嗎? – mko
是 - 'a.unpack('U')[0]'給出的Unicode碼點是一個整數,我們只需要將它轉換爲一個基數爲16的字符串。 –
感謝,codepoint,這是我想下一次使用的術語,BTW String#codepoint可能以相同的方式,但也需要轉換爲十六進制 – mko