Ruby: переносить текст из одного файла в другой, но непреднамеренно конвертировать в китайский? - PullRequest
0 голосов
/ 02 декабря 2018

Итак, я делал это в рамках учебного упражнения 17 по изучению Ruby the Hard Way. Это было предназначено для открытия одного файла .txt, передачи содержимого в следующий файл .txt.

test.rb В командной строке я добавляю: ruby ​​test.rb testa.txt testb.txt

from_file, to_file = ARGV

open(from_file) do |f|
  var = f.read
  puts var
  open(to_file, "w"){|t| t.write(var)}
end

testa.txt

This is a test 
This becomes Chinese no matter what
This is English again
This becomes Chinese again

testb.txt (Это то, что происходит с ним после запуска: ruby ​​test.rb testa.txt testb.txt в командной строке)

This is a test 
਍吀栀椀猀 戀攀挀漀洀攀猀 䌀栀椀渀攀猀攀 渀漀 洀愀琀琀攀爀 眀栀愀琀ഀഀ
This is English again
਍吀栀椀猀 戀攀挀漀洀攀猀 䌀栀椀渀攀猀攀 愀最愀椀渀

Он всегда производит китайский каждую 2-ю строку.У меня даже нет китайского языка в моих предпочтениях, только английский (Канада) и английский (США).Был бы очень признателен, если кто-нибудь может помочь разобраться, что вызывает все это.Не удалось найти ничего в документации по ruby: /

1 Ответ

0 голосов
/ 03 декабря 2018

Указатель, вероятно, вставляется в символ / байт (8 бит составляют 1 байт) где-то в процессе.То есть в реальный характер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...