iconv não pode converter números circulados de / para codificações japonesas

0

O intervalo unicode de dígitos circulados (U + 2460 .. U + 2468) não pode ser convertido para, ou de, qualquer uma das codificações em japonês (EUC-JP, Shift-JIS, ISO-2022-JP), mesmo que eles existam , e eu os cruzo o tempo todo.

% echo ①②③③④⑤⑥⑦⑧⑨ | iconv -f utf-8 -t euc-jp
iconv: (stdin):1:0: cannot convert
% echo ①②③③④⑤⑥⑦⑧⑨ | iconv -f utf-8 -t shift-jis
iconv: (stdin):1:0: cannot convert
% echo ①②③③④⑤⑥⑦⑧⑨ | iconv -f utf-8 -t iso-2022-jp
iconv: (stdin):1:0: cannot convert

% printf "\xad\xa1\xad\xa2\xad\xa3\xad\xa3 \xad\xa4\xad\xa5\xad\xa6\xad\xa7\xad\xa8\xad\xa9" | iconv -f euc-jp -t utf-8 
iconv: (stdin):1:0: cannot convert
% printf "\x87\x40\x87\x41\x87\x42\x87\x42 \x87\x43\x87\x44\x87\x45\x87\x46\x87\x47\x87\x48" | iconv -f shift-jis -t utf-8 
iconv: (stdin):1:0: cannot convert

O que dá?

    
por oals 09.04.2015 / 13:40

1 resposta

3

Esses caracteres realmente não existem nessas três codificações. Você realmente deseja EUC-JIS-2004 aka EUC-JISX0213 em vez de simples EUC-JP, SHIFT_JIS-2004 ou CP932 em vez de SHIFT_JIS e ISO-2022-JP-2004 em vez de simples ISO-2022-JP.

% printf "\xad\xa1\xad\xa2\xad\xa3 \xad\xa4\xad\xa5\xad\xa6\xad\xa7\xad\xa8\xad\xa9" | iconv -f euc-jisx0213 -t utf-8 
①②③ ④⑤⑥⑦⑧⑨
    
por 09.04.2015 / 13:45