iconv traduzir inglês para idioma russo

0

Estou tentando encontrar um comando no Unix para traduzir caracteres ingleses para o russo. Então eu listei pela primeira vez as localidades russas disponíveis na minha caixa:

#locale -a | grep -i RU
ru_RU
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8
russian

Agora estou tentando um comando para converter caracteres em inglês para caracteres russos ou traduzir de maneira equivalente:

#iconv -f en_US.utf8 "Hi" -t ru_RU.utf8
iconv: conversions from 'en_US.utf8' and to 'ru_RU.utf8' are not supported

Eu tentei várias páginas do google e outro comando, mas não consegui encontrar o comando exato para o meu propósito?

Por favor, sugira qual comando produziria o resultado esperado.

    
por user186775 27.08.2016 / 05:40

1 resposta

2

A mensagem

iconv: conversions from 'en_US.utf8' and to 'ru_RU.utf8' are not supported

poderia ser melhorado, por exemplo,

iconv: conversions from 'en_US.utf8' and to 'ru_RU.utf8' is pointless

ou

iconv: conversions from 'en_US.utf8' and to 'ru_RU.utf8' will not modify your data

iconv traduz a codificação de caracteres . Embora possa reconhecer o nome de um locale , existe uma diferença entre codificação e locale :

  • codificação lista todos os códigos de caracteres disponíveis em um conjunto de caracteres, com referência à aparência dos caracteres (referidos como glifos ).
  • locale informa como os caracteres em uma codificação dada são usados, por exemplo, que são imprimíveis, que não são, que são usados para casos especiais, como separadores decimais. Ele também lida com coisas que não estão relacionadas a conjuntos de caracteres, como os nomes dos dias da semana.

Como as localidades en_US.utf8 e ru_RS.utf8 usam a codificação same , iconv não tem nada a ver. Como não é possível adivinhar o que você está tentando fazer, ele informa que a conversão "não é suportada".

O que o iconv suporta é a conversão entre as codificações diferentes . Por exemplo, na sua lista

ru_RU.iso88595
ru_RU.koi8r

não use codificação UTF-8. Esses são usados para conjuntos de caracteres com menos de 256 caracteres; O UTF-8 é usado para Unicode, com muitos mais de 256 caracteres.

Quanto ao comando correto a ser usado, isso depende de qual é a codificação real do arquivo de entrada (pode ser UTF-8, pode ser ISO-8859-1) e se você deseja que a saída seja ser UTF-8 (sem problemas) ou uma das outras codificações (menos provável, e envolvendo alguma perda de informação).

    
por 27.08.2016 / 13:06

Tags