Saturday 17 August 2019

Libiconv 1 14 opções binárias


Linux e Unix comandos dos2unix e unix2dos Sobre dos2unix e unix2dos O pacote dos2unix inclui os utilitários dos2unix e unix2dos para converter arquivos de texto simples em formato DOS ou Mac para formato Unix. e vice versa. Descrição Em DOSWindows arquivos de texto, uma quebra de linha. Também conhecido como newline. É uma combinação de dois caracteres: um retorno de carro (CR) seguido de uma alimentação de linha (LF). Nos arquivos de texto do Unix, uma quebra de linha é um único caractere: o Line Feed (LF). Em arquivos de texto do Mac, antes do Mac OS X. uma quebra de linha era um caractere de retorno de carro único (CR). Hoje em dia, o Mac OS usa quebra de linha estilo Unix (LF). Os arquivos binários são ignorados automaticamente, a menos que a conversão seja forçada. Arquivos não regulares, como diretórios e FIFOs. São ignoradas automaticamente. Os links simbólicos e seus destinos são mantidos intocados por padrão. As ligações simbólicas podem opcionalmente ser substituídas, ou a saída pode ser escrita no alvo de ligação simbólico. Os links simbólicos no Windows não são suportados. Os links simbólicos do Windows são sempre substituídos, mantendo os alvos inalterados. Dos2unix foi modelado após dos2unix sob SunOSSolaris e tem modos de conversão semelhantes. Unix2dos e dos2unix sintaxe Trate todas as opções que seguem como nomes de arquivo. Use essa opção, por exemplo, se você quiser converter arquivos cujos nomes começam com um traço. Assim, para converter um arquivo chamado - foo, você pode usar este comando: dos2unix - - foo Ou no novo modo de arquivo: dos2unix - n - - foo out. txt No modo normal as quebras de linha são convertidas de DOS para Unix e vice Versa. Mac quebra de linha não são convertidos. No modo Mac, as quebras de linha são convertidas do Mac para Unix e vice-versa. Quebras de linha do DOS não são alteradas. Para executar no modo Mac, use a opção de linha de comando - c mac ou use os comandos mac2unix ou unix2mac. Modos de conversão No modo ascii apenas as quebras de linha são convertidas. Este é o modo de conversão padrão. Embora o nome deste modo é ASCII. Que é um padrão de 7 bits, o modo real é de 8 bits. Use sempre esse modo ao converter arquivos Unicode UTF-8. Neste modo todos os caracteres não-ASCII de 8 bits (com valores de 128 a 255) são convertidos para um espaço de 7 bits. Os caracteres são convertidos entre um conjunto de caracteres do DOS (página de códigos) eo conjunto de caracteres ISO ISO-8859-1 (Latin-1) no Unix. DOS caracteres sem ISO-8859-1 equivalente, para que a conversão não é possível, são convertidos em um ponto. O mesmo conta para caracteres ISO-8859-1 sem contrapartida DOS. Quando apenas a opção - iso é usada o dos2unix tentará determinar a página de código ativa. Quando isso não for possível, o dos2unix usará a página de código padrão CP437, que é usada principalmente nos EUA. Para forçar uma página de código específica use as opções -437 (EUA), -850 (europeu ocidental), -860 (português), -863 (francês canadense) ou -865 (nórdico). A página de código do Windows CP1252 (Europa Ocidental) também é suportada com a opção -1252. Para outras páginas de código use dos2unix em combinação com iconv. Iconv pode converter entre uma longa lista de codificações de caracteres. Nunca use conversão ISO em arquivos de texto Unicode. Ele irá corromper UTF-8 arquivos codificados. Converta a partir de UNIX Latin-1: Converta de Windows CP1252 para Unix Latin-1: Converta de Windows CP1252 para Unix UTF-8 (Unicode): Converter a partir de Unix Latin - 1 para a página de códigos padrão do DOS: Converter de Unix Latin-1 para DOS CP850: Converter de Unix Latin-1 para Windows CP1252: Converter de Unix UTF-8 (Unicode) para Windows CP1252: NOTA: Modos de conversão ascii. 7bit. E iso são semelhantes aos de dos2unixunix2dos sob SunOSSolaris. Existem diferentes codificações Unicode. Em Unix e Linux os arquivos Unicode normalmente são codificados em codificação UTF-8. No Windows, os arquivos de texto Unicode podem ser codificados em UTF-8, UTF-16 ou UTF-16 big endian. Mas são principalmente codificados em formato UTF-16. Arquivos de texto Unicode podem ter quebras de linha DOS, Unix ou Mac, como arquivos de texto regulares. Todas as versões de dos2unix e unix2dos podem converter arquivos codificados em UTF-8, porque o UTF-8 foi projetado para compatibilidade reversa com ASCII. Dos2unix e unix2dos com Unicode UTF-16 suporte pode ler pouco e grande endian UTF-16 codificado arquivos de texto. Para ver se o dos2unix foi construído com o tipo de suporte UTF-16 dos2unix - V. As versões Windows do dos2unix e unix2dos convertem ficheiros UTF-16 codificados sempre para ficheiros codificados UTF-8. As versões Unix do dos2unixunix2dos convertem arquivos codificados UTF-16 para a codificação de caracteres de localidade quando ele é definido como UTF-8. Use o comando locale para descobrir qual é a codificação de caracteres de localidade. Como os arquivos de texto com formato UTF-8 são bem suportados no Windows e no Unix, o dos2unix e o unix2dos não têm opção para gravar arquivos UTF-16. Todos os caracteres UTF-16 podem ser codificados em UTF-8. A conversão de UTF-16 para UTF-8 é sem perda. Os arquivos UTF-16 serão ignorados no Unix quando a codificação de caracteres de localidade não for UTF-8, para evitar perda acidental de texto. Quando ocorre um erro de conversão UTF-16 para UTF-8, por exemplo quando o arquivo de entrada UTF-16 contém um erro, o arquivo será ignorado. Conversão de modo ISO e 7-bit não funcionam em arquivos UTF-16. Byte Ordem Mark On Windows Arquivos de texto Unicode normalmente têm uma marca de ordem de bytes (BOM), porque muitos programas do Windows (incluindo o bloco de notas) adicionar BOMs por padrão. Veja também en. wikipedia. orgwikiByteordermark. Em Unix Unicode arquivos normalmente não têm uma lista técnica. Presume-se que os arquivos de texto são codificados na codificação de caracteres de localidade. O dos2unix só pode detectar se um arquivo está no formato UTF-16 se o arquivo tiver uma lista técnica. Quando um arquivo UTF-16 não tem uma lista técnica, o dos2unix verá o arquivo como um arquivo binário. Use dos2unix em combinação com iconv para converter um arquivo UTF-16 sem BOM. Dos2unix nunca grava um BOM no arquivo de saída, a menos que você use a opção - m. Unix2dos grava uma lista de materiais no arquivo de saída quando o arquivo de entrada tem uma lista de materiais ou quando a opção - m é usada. Converta de Unix UTF-8 para Windows UTF-8 para Windows UTF-8: Converta de UTF-16 de Windows (sem BOM) para Unix UTF-8 -8 para Windows UTF-16: Conversão recursiva Use dos2unix em combinação com os comandos find e xargs para converter recursivamente arquivos de texto em uma estrutura de árvore de diretórios. Por exemplo, para converter todos os arquivos. txt na árvore de diretórios sob o tipo de diretório atual: Localization O idioma principal é selecionado com a variável de ambiente LANG. A variável LANG consiste em várias partes. A primeira parte é em letras pequenas o código de idioma. O segundo é opcional e é o código do país em letras maiúsculas, precedido de um sublinhado. Há também uma terceira parte opcional: codificação de caracteres, precedida por um ponto. Alguns exemplos para shells de tipo padrão POSIX: Em sistemas Unix você pode usar para comando locale para obter informações específicas da localidade. Com a variável de ambiente LANGUAGE você pode especificar uma lista de prioridades de idiomas, separados por dois pontos. Dos2unix dá preferência a LANGUAGE sobre LANG. Por exemplo, primeiro holandês e depois alemão: LANGUAGEnl: de. Você deve primeiro habilitar a localização, definindo LANG (ou LCALL) para um valor diferente de C, antes que você possa usar uma lista de prioridades de idioma através da variável LANGUAGE. Consulte também o manual gettext: gnu. orgsoftwaregettextmanualgettext. htmlA variável LANGUAGE Se você selecionar um idioma que não esteja disponível, você receberá as mensagens padrão em inglês. Com a variável de ambiente DOS2UNIXLOCALEDIR o conjunto LOCALEDIR durante a compilação pode ser anulado. LOCALEDIR é usado para localizar os arquivos de idioma. O valor padrão do GNU é usrlocalsharelocale. Opção --version irá exibir o LOCALEDIR que é usado. Valores de retorno Em caso de sucesso, zero é retornado. Quando ocorre um erro de sistema, o último erro do sistema será retornado. Para outros erros 1 é retornado. O valor de retorno é sempre zero no modo silencioso, exceto quando opções de linha de comando erradas são usadas. Unix2dos e exemplos dos2unix Obter entrada de stdin e escrever saída para stdout. Ambos os comandos acima farão a mesma coisa: converter e substituir, tanto a. txt como b. txt em um comando. Converte e substitui a. txt mantendo o carimbo de data original. Eu quero construir uma biblioteca estática (arquivo. LIB) GNU libiconv no windows para ser usado com outras bibliotecas no Visual C. Outras bibliotecas Im usando são construídas com MultiThreaded DLL (MD) Opção de tempo de execução. Então, eu preciso construir libiconv com a mesma opção. O problema é que o libiconv usa o sistema de compilação GNU e eu quero compilar com a opção MD. Você pode ver a estrutura de fonte de libiconv aqui: cvs. savannah. gnu. orgviewvclibiconvrootlibiconv O Sr. Zlatkovic mantém a porta de janelas do GNU libiconv para libxml2 você pode vê-los aqui: Eu não posso usar sua porta. Eu preciso construir a partir da versão mais recente do libiconv-1.13. Gostaria de saber como este cara tem portado-lo Pode alguém por favor me dizer como construir. Lib a partir deste e compilá-lo usando MSVC Na verdade, eu preciso construir mais algumas bibliotecas gnu com as mesmas configurações. Então, se eu conseguir solução para uma biblioteca. Eu posso fazer o mesmo para todos os outros. Uma pequena adição à sua resposta. Eu tive o mesmo problema e descobri que a solução MSYS MinGW era perfeita. Embora, eu precisava ir um pouco mais longe e gerar também o arquivo. lib, a fim de ser capaz de link com a dll resultante. Isto é o que eu encontrei: gere um arquivo. def da DLL com dumpbin (uma ferramenta do Visual Studio). Gere o arquivo. lib do. def com o programa lib (ferramenta Visual Studio também) Isso permite que você especifique alguns sinalizadores link, se apropriado. Tudo detalhado aqui (eu não sou o autor deste método): wiki. videolan. orgGenerateLibFromDll Eu também percebi que este par libdll pode ser vinculado com MD MDD e bibliotecas. Espero que possa ajudar as pessoas que encontrar este post, como me ajudou. Compilá-los usando MinGW usando Msys para o ambiente, se necessário. Arquivos MinGWs. a aparentemente, de acordo com a lista de discussão, o mesmo formato como arquivos. lib (apenas fazer um renomear). Talvez você queira verificar primeiro se a biblioteca estática de iconv está incluída no sistema de arquivos de download do MinGW. Editar: está em aqui, o libiconv você precisa estas versões parecem ter makefiles MSVC :) opensource Editar: está em aqui, o libiconv você precisa estas versões parecem ter makefiles MSVC :) opensource (em inglês): libiconv-2.dll (em C: msys1.0localbin).applesourcelibiconv respondeu Apr 28 10 at 22:03 mas como eu executaria .47configure que é um script shell Mais sobre, como eu daria a opção quotMultiThreaded DLLquot Runtime para g compilador de MinGW. Ndash garras Apr 28 10 at 22:07 Você pode não enfrentar o mesmo problema com a ferramenta MinGW, que o desenvolvedor está tentando evitar. Basicamente, a opção multithreaded para o vinculador de compilador MSVC permite que a DLL use múltiplo heaps em vez de um heap único, de um olhar rápido, e impede que problemas ocorra. Ndash Chris Dennett Apr 28 10 at 22: 14Introdução Obter o software O texto internacional é principalmente codificado em Unicode. Por razões históricas, no entanto, às vezes ainda é codificado usando uma linguagem ou país dependente codificação de caracteres. Com o advento da internet e a troca freqüente de texto entre países - até mesmo a visualização de uma página da web de um país estrangeiro é uma troca de texto neste contexto -, as conversões entre essas codificações se tornaram uma necessidade. Em particular, os computadores com o sistema operacional Windows ainda operam em local com uma codificação de caracteres tradicional (limitada). Alguns programas, como mailers e navegadores da Web, devem ser capazes de converter entre uma determinada codificação de texto ea codificação de usuários. Outros programas internamente armazenam strings em Unicode, para facilitar o processamento interno, e precisam converter entre a representação interna da corda (Unicode) ea representação externa da corda (uma codificação tradicional) quando estão fazendo IO. GNU libiconv é uma biblioteca de conversão para ambos os tipos de aplicações. Esta biblioteca fornece uma implementação iconv (), para uso em sistemas que não têm um, ou cuja implementação não pode converter de Unicode. Ele oferece suporte para as codificações: Linguagens européias ASCII, ISO-8859-, KOI8-R, KOI8-U, KOI8-RU, CP, CP, Mac, Mac, Macintosh Idiomas semíticos ISO-8859-, CP, CP862, EU-2022-JP-1, ISO-2022-JP-MS China EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5-HKSCS: 2004, BIG5-HKSCS: 2001, BIG5-HKSCS: 1999, ISO-2022-CN, ISO-2022-CN-EXT Coreano EUC-KR, CP949, ISO-2022-KR, JOHAB Armênio ARMSCII-8 Georgiano-Academia Georgiana, Georgiano-PS Tajik KOI8-T Cazaquistão PT154, RK1048 Tailandês ISO-8859-11, TIS-620, CP874, MacThai Laotian MuleLao-1, CP1133 Vietnamita VISCII, TCVN, CP1258 Especificações de plataforma HP-ROMAN8, NEXTSTEP Unicode completo UTF-8 UCS-2, UCS-2BE, UCS-2LE UCS-4, UCS-4BE, UCS-4LE UTF-16 UTF - 32, UTF-32BE, UTF-32LE UTF-7 C99, JAVA Unicode completo, em termos de uint16t ou uint32t (com endianness dependente da máquina e alinhamento) UCS-2-INTERNAL, UCS-4-INTERNAL Locale dependente, em termos de char Ou w Char, wchart O nome de codificação vazio é equivalente a char: ele denota a codificação de caracteres dependente da localidade. Quando configurado com a opção --enable-extra-encodings. Também oferece suporte para algumas codificações extras: Linguagens européias CP línguas semitas CP864 Japonês EUC-JISX0213, ShiftJISX0213, ISO-2022-JP-3 Chinês BIG5-2003 (experimental) Turkmen TDS565 Específicos da plataforma ATARIST, RISCOS-LATIN1 Ele pode converter de Qualquer uma dessas codificações para qualquer outro, por meio de conversão Unicode. Ele também tem algum suporte limitado para a transliteração, isto é, quando um caractere não pode ser representado no conjunto de caracteres de destino, pode ser aproximado através de um ou vários caracteres semelhantes. A transliteração é ativada quando TRANSLIT é anexado ao nome de codificação de destino. Libiconv é para você se seu aplicativo precisa suportar múltiplas codificações de caracteres, mas esse suporte não existe no seu sistema. Instalação Como é habitual para os pacotes GNU: Depois de instalar o GNU libiconv pela primeira vez, recomenda-se a recompilação e reinstalação do GNU gettext, para que possa tirar partido do libiconv. Em sistemas que não sejam o GNULinux, o programa iconv será internacionalizado somente se GNU gettext tiver sido construído e instalado antes do GNU libiconv. Isso significa que a primeira vez que o GNU libiconv for instalado, temos uma dependência circular entre os pacotes GNU libiconv e GNU gettext, que podem ser resolvidos construindo e instalando primeiro libiconv, depois gettext, depois libiconv novamente ou Bibliotecas, excluindo AIX) primeiro gettext, então libiconv, e depois gettext novamente. Lembre-se que antes de construir um pacote pela segunda vez, você precisa apagar os vestígios da primeira compilação executando make distclean. This biblioteca pode ser construída e instalada em duas variantes: O modo de biblioteca. Isso funciona em todos os sistemas e usa uma biblioteca libiconv. so e um arquivo de cabeçalho lticonv. hgt. (Ambos são instalados através de make install.) Para usá-lo, basta incluir lticonv. hgt e usar as funções. Para usá-lo em um pacote autoconfiguring: Se você não usar o automake, acrescente m4iconv. m4 ao seu arquivo aclocal. m4. Se você usar automake, adicione m4iconv. m4 ao repositório de macros m4. Adicione à linha de comando link de bibliotecas e executáveis ​​que usam as funções o espaço reservado LIBICONV (ou, se estiver usando libtool para o link, LTLIBICONV). Se você usar automake, o lugar certo para essas adições são as variáveis ​​LDADD. Observe que iconv. m4 também faz parte do pacote GNU gettext, que o instala em usrlocalshareaclocaliconv. m4.O modo libc plugoverride. Isso só funciona nos sistemas GNULinux, Solaris e OSF1. É uma maneira de obter um bom suporte a iconv sem ter o glibc-2.1. Ele instala uma biblioteca preloadablelibiconv. so. Esta biblioteca pode ser usada com LDPRELOAD, para substituir as funções iconv presentes na biblioteca C. No GNULinux e Solaris: No OSF1: Uma fonte de programas não precisa ser modificada, o programa nem precisa ser recompilado. Basta definir a variável de ambiente LDPRELOAD, thats it As bibliotecas libiconv e libcharset e seus arquivos de cabeçalho estão sob a LGPL. O programa iconv está sob GPL. As últimas fontes de desenvolvimento podem ser obtidas através do projeto savannah. Documentação Relatórios de bugs Por favor, envie consultas gerais do FSF amp GNU para ltgnugnu. orggt. Há também outras formas de entrar em contato com a FSF. Por favor, envie links quebrados e outras correções ou sugestões para ltbug-gnu-libiconv - antispam 64 antispam. Gnu. orggt. Copyright (C) 1998, 2017 Free Software Foundation, Inc. A cópia e distribuição verbais deste artigo completo é permitida em qualquer meio, desde que este aviso seja preservado. Última actualização: Data: 20170211 13:30:21 Autor: haible

No comments:

Post a Comment