字符串中的字符编码

guc*_*cki 4 ruby character-encoding

我尝试使用以下代码以转义形式(ascii 252,octal 374,hex 0xfc)输出包含字母"ü"的德语句子:

pp "Test \374"
pp "Test \374".encode("UTF-8")
Run Code Online (Sandbox Code Playgroud)

但是使用ruby 1.8.7我得到:"Test\374""Test\374"

使用ruby 1.9.2输出:"Test\xFC""Test\xFC"

如何输出ruby(1.8.7 + 1.9.x)输出"Testü"?:)

Joh*_*ooy 7

>> pp "Test \xc3\xbc"
"Test ü"
=> nil

>> s="Test \374"  # This has utf-8 encoding but we need it to be "ISO-8859-1"
=> "Test \xFC"
>> s.force_encoding("ISO-8859-1")
=> "Test "
>> s.encode("UTF-8")
=> "Test ü"
>> 
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你,谢谢你,谢谢你!你就像一只独角兽和一条双彩虹. (4认同)