parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

^file::create[$binary;$.mode[text]] и перекодирование

G_Z 03.12.2015 02:05 / 03.12.2015 02:15

Загружая файлы по умолчанию в binary, столкнулся с тем, что их невозможно впоследствии перекодировать.
Даже если узнать кодировку и явно указать при создании файла получим ошибку «charset option can not be used with file-content».
$r[^file::load[binary;http://www.parser.ru/forum/]]

$r[^file::create[$r][
	$.mode[text]
	$.content-type[$r.CONTENT-TYPE]
	$.charset[windows-1251]
]]
Если пойти на хитрость и передать текст бинарного файла:
$r[^file::create[$r.text][
	$.mode[text]
	$.content-type[$r.CONTENT-TYPE]
	$.charset[windows-1251]
]]
то получим перекодирование не в UTF-8, в котором происходит дело, а в ISO-8859-1 с преобразованием кириллицы в percent-encoding.

Загрузить же в text и перевести в binary так же невозможно.

Совсем text/binary непреобразовываемыми друг в друга получаются.