我尝试使用以下代码以转义形式(ascii 252、八进制 374、十六进制 0xfc)输出包含字母“ü”的德语句子:
pp "Test \374"
pp "Test \374".encode("UTF-8")
但是使用 ruby 1.8.7 我得到: “测试\374” “测试\374”
使用 ruby 1.9.2 输出: “测试\xFC” “测试\xFC”
如何让 ruby (1.8.7 + 1.9.x) 输出“Test ü”? :)
最佳答案
>> 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 ü"
>>
关于ruby - 字符串中的字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3564477/