Кодировка символов в строке - PullRequest
4 голосов
/ 25 августа 2010

Я пытаюсь вывести немецкое выражение, содержащее букву "ü" в экранированном виде (ascii 252, восьмеричное 374, hex 0xfc), используя следующий код:

pp "Test \374"
pp "Test \374".encode("UTF-8")

Но используя ruby ​​1.8.7 Iget: "Test \ 374" "Test \ 374"

Использование выходов ruby ​​1.9.2: "Test \ xFC" "Test \ xFC"

Как получить ruby ​​(1.8.7+ 1.9.x) вывести «Test ü»?:)

1 Ответ

7 голосов
/ 25 августа 2010
>> 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 ü"
>> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...