Skip to main content

Content Transfer Encoding Binário Opções


Pode ser um pouco densa para ler, mas a seção Content-Transfer-Encoding do RFC 1341 tem todos os detalhes. A situação kinda vai de mal a pior Aqui está o meu summary. SMTP, por definição RFC 821, limita o correio para linhas De 1000 caracteres de 7 bits cada Isso significa que nenhum dos bytes que você envia para baixo o tubo pode ter o bit mais significativo de ordem mais alta definido como 1.O conteúdo que queremos enviar muitas vezes não obedecer esta restrição inerentemente Pense em uma imagem Arquivo ou um arquivo de texto que contém caracteres Unicode os bytes desses arquivos geralmente terão seu 8o bit definido como 1 SMTP não permite isso, então você precisa usar a codificação de transferência para descrever como você trabalhou em torno do incompatibilidade. O encabeçamento Content-Transfer-Encoding descreve a regra que você escolheu para resolver este problema.7Bit Encoding.7bit significa simplesmente que os Meus dados consistem apenas de caracteres US-ASCII, que só usam os 7 bits inferiores para cada personagem. Você basicamente garante que Todos os bytes em seu con Tente já aderir às restrições de SMTP e, portanto, não precisa de tratamento especial Você pode apenas lê-lo como-é. Note que quando você escolhe 7bit você está concordando que todas as linhas em seu conteúdo são menos de 1000 caracteres de comprimento. Enquanto seu conteúdo adere a estas regras, 7bit é a melhor codificação de transferência, uma vez que não há nenhum trabalho extra necessário que você acabou de ler escrever os bytes como eles saem do tubo É também fácil de globo ocular 7bit conteúdo e fazer sentido do que Idéia aqui é que se você está apenas escrevendo em texto Inglês simples você vai ficar bem Mas isso não era verdade em 2005 e não é verdade hoje.8Bit Encoding.8bit significa Meus dados podem incluir caracteres ASCII estendidos que podem usar o 8º bit mais alto Para indicar caracteres especiais fora dos caracteres padrão de US-ASCII de 7 bits Como em 7bit há ainda um limite de linha de 1000 caracteres.8bit exatamente como 7bit não faz realmente nenhuma transformação dos bytes à medida que são escritos ou lidos a partir do Fio Isso significa apenas que você não é gua Ranteeing que nenhum dos bytes terá o bit mais alto definido como 1. Isto parece um passo acima de 7 bits, uma vez que lhe dá mais liberdade no seu conteúdo No entanto, RFC 1341 contém este tidbit. As da publicação deste documento, há Nenhum transporte de Internet padronizado para o qual é legítimo incluir dados não codificados de 8 bits ou binários em corpos de correio Assim, não há circunstâncias em que o 8bit ou binário Content-Transfer-Encoding é realmente legal na Internet. RFC 1341 saiu mais de 20 Há muitos anos, desde então, temos conseguido 8bit MIME Extensions em RFC 6152 Mas mesmo assim, linha limites ainda podem apply. Note que esta extensão não eliminar a possibilidade de um servidor SMTP limitando linha comprimento servidores estão livres para implementar esta extensão, Limite de comprimento de linha não inferior a 1000 octetos. Binary Encoding. binary é o mesmo que 8bit, exceto que não há nenhuma restrição de comprimento de linha Você ainda pode incluir quaisquer caracteres que você quer, e não há nenhuma codificação extra Simil Ar para 8bit RFC 1341 afirma que não é realmente uma codificação legítima codificação de transferência RFC 3030 estendeu isso com BINARYMIME. Quoted Printable. Before a extensão 8BITMIME, não precisava ser uma maneira de enviar conteúdo que couldn t ser 7bit sobre arquivos SMTP HTML que Pode ter mais de 1000 caracteres de linhas e arquivos com caracteres internacionais são bons exemplos disso A codificação quoted-printable Definido na seção 5 1 do RFC 1341 é projetado para lidar com isso Ele faz duas coisas. Defines como escapar não-US-ASCII Caracteres de modo que eles podem ser representados em apenas caracteres de 7 bits versão curta que são exibidos como um sinal de igual mais dois caracteres de 7 bits. Define que as linhas não será maior do que 76 caracteres e que as quebras de linha serão representadas usando caracteres especiais Que são então escaped. Quoted Printable, por causa da fugir e linhas curtas, é muito mais difícil de ler por um humano de 7bit ou 8bit, mas ele suporta uma gama muito maior de conteúdo possível. Base64 Encoding. If Seus dados são em grande parte não-texto ex um arquivo de imagem, você não tem muitas opções 7bit é fora da tabela 8bit e binário foram sem suporte antes da extensão MIME coted-printable iria funcionar, mas é realmente ineficiente cada byte vai ser Representada por 3 caracteres. base64 é uma boa solução para este tipo de dados Ele codifica 3 bytes brutos como 4 caracteres US-ASCII, que é relativamente eficiente RFC 1341 ainda limita o comprimento da linha de base64-codificado dados para 76 caracteres para caber dentro de um SMTP, mas isso é relativamente fácil de gerenciar quando você está apenas dividindo ou concatenando caracteres arbitrários em comprimento fixo. A grande desvantagem é que os dados codificados em base64 são praticamente ilegíveis por humanos, mesmo que seja apenas texto simples embaixo.5 O Content-Transfer-Encoding Header Field.5 O Content-Transfer-Encoding Header Field. Muitos Content-Tipos que poderiam ser transportados via e-mail são representados, em seu formato natural, como caracteres de 8 bits ou dados binários. Os dados não podem ser transmitidos através de alguns protocolos de transporte. Por exemplo, a RFC 821 restringe as mensagens de correio a dados de 7 bits US-ASCII com linhas não mais de 1000 caracteres É necessário, portanto, definir um mecanismo padrão para a recodificação de tais dados em um Formato de linha curta de 7 bits Este documento especifica que tais codificações serão indicadas por um novo campo de cabeçalho Content-Transfer-Encoding O campo Content-Transfer-Encoding é usado para indicar o tipo de transformação que foi usado para representar a Ao contrário dos Content-Types, uma proliferação de valores de Content-Transfer-Encoding é indesejável e desnecessária. No entanto, o estabelecimento de apenas um único mecanismo de Content-Transfer-Encoding não parece possível. Há um tradeoff entre o desejo de Uma codificação compacta e eficiente de dados em grande parte binários eo desejo de uma codificação legível de dados que é na maior parte, mas não inteiramente, dados de 7 bits Por esta razão, pelo menos dois codificação mech É necessário uma codificação legível e uma codificação densa. O campo Content-Transfer-Encoding é projetado para especificar um mapeamento invertible entre a representação nativa de um tipo de dados e uma representação que pode ser facilmente trocada usando protocolos de transporte de correio de 7 bits, tais como Como aqueles definidos pelo RFC 821 SMTP Este campo não foi definido por qualquer padrão anterior O campo s valor é um único token especificando o tipo de codificação, conforme enumerado abaixo Formally. These valores não são sensíveis a maiúsculas Ou seja, Base64 e BASE64 e bAsE64 São todos equivalentes Um tipo de codificação de 7BIT requer que o corpo já esteja em uma representação pronta para envio de sete bits Este é o valor padrão - isto é, Content-Transfer-Encoding 7BIT é assumido se o campo de cabeçalho Content-Transfer-Encoding Não está presente. Os valores 8bit, 7bit e binário significam que a codificação NO foi realizada. No entanto, eles são potencialmente úteis como indicações do tipo de dados contidos no objeto e, portanto, Re do tipo de codificação que pode precisar de ser realizada para a transmissão em um determinado sistema de transporte Em particular. A diferença entre 8bit ou qualquer outro token de largura de bits concebível eo token binário é que binário não requer a aderência a quaisquer limites on line Comprimento ou para a semântica CRLF SMTP, enquanto os tokens de largura de bits requerem tal aderência Se o corpo contiver dados em qualquer largura de bit diferente de 7 bits, o token Content-Transfer-Encoding apropriado de bit-width deve ser usado por exemplo 8bit Para dados não codificados de 8 bits de largura Se o corpo contiver dados binários, o token binário Content-Transfer-Encoding deve ser usado. Os implementadores podem, se necessário, definir novos valores de Content-Transfer-Encoding, mas devem usar um token x, que é Um nome prefixado por X - para indicar seu status não padronizado, por exemplo, Content-Transfer-Encoding x-my-new-encoding No entanto, diferentemente de Content-Types e subtipos, a criação de novos Content-Transfer-Encoding valores é explicitamente e fortemente Desencorajado, uma vez que parece Impedem a interoperabilidade com pouco benefício potencial. Seu uso é permitido apenas como resultado de um acordo entre os agentes do usuário que cooperam. Se um campo de cabeçalho Content-Transfer-Encoding aparecer como parte de um cabeçalho de mensagem, ele se aplica a todo o corpo dessa mensagem Se um O campo de cabeçalho Content-Transfer-Encoding aparece como parte dos cabeçalhos de uma parte do corpo, aplica-se somente ao corpo dessa parte do corpo. Se uma entidade for do tipo multipart ou mensagem, o Content-Transfer - Encoding não terá qualquer valor Diferente de uma largura de bit, por exemplo, 7 bits, 8 bits, etc ou binário. Deve-se notar que o e-mail é orientado a caracteres, de modo que os mecanismos descritos aqui são mecanismos para codificar fluxos de octetos arbitrários, não fluxos de bits Se um fluxo de bits deve ser codificado Através de um desses mecanismos, ele deve primeiro ser convertido em um fluxo de bytes de 8 bits usando a ordem de bit padrão de rede big-endian, em que os bits anteriores em um fluxo se tornam os bits de ordem superior em um byte um bronzeado O limite de 8 bits deve ser preenchido com zeros Este documento fornece um mecanismo para observar a adição de tal preenchimento no caso do aplicativo Content-Type, que tem um parâmetro de preenchimento. Os mecanismos de codificação definidos aqui explicitamente codificar todos os dados em ASCII Assim, Por exemplo, suponha que uma entidade tenha campos de cabeçalho como. Isto deve ser interpretado para significar que o corpo é uma codificação ASCII de base64 de dados que estava originalmente em ISO-8859-1 e estará nesse conjunto de caracteres novamente após a decodificação. As seções a seguir definirão os dois mecanismos de codificação padrão A definição de novas codificações de transferência de conteúdo é explicitamente desencorajada e só deve ocorrer quando absolutamente necessário Todo o espaço de nomes de codificação de transferência de conteúdo exceto aquele começando com X - está explicitamente reservado à IANA para uso futuro Os acordos privados sobre encodings de transferência de conteúdo também são explicitamente desencorajados. Apenas os valores de Content-Transfer-Encoding podem ser usados ​​em determinados tipos de conteúdo. É expressamente proibido usar qualquer codificação diferente de 7bit, 8bit ou binário com qualquer Content-Type que recursivamente inclua outros campos Content-Type, notàvelmente o multipart e mensagem Content-Types Todas as codificações que são desejadas para corpos de tipo multipart ou mensagem devem Ser feito no nível mais interno, codificando o corpo real que precisa ser codificado.5 O Content-Transfer-Encoding Header Field. Muitos Content-Tipos que poderiam ser transportados via e-mail são representados, em seu formato natural, como 8- Bit ou dados binários Esses dados não podem ser transmitidos através de alguns protocolos de transporte Por exemplo, RFC 821 restringe mensagens de correio electrónico para 7-bit US-ASCII dados com 1000 caracteres line. It é necessário, portanto, definir um mecanismo padrão para re-codificação Esses dados em um formato de linha curta de 7 bits Este documento especifica que tais codificações serão indicadas por um novo campo de cabeçalho Content-Transfer-Encoding O campo Content-Transfer-Encoding é usado para indicar o tipo de Transformação que tem sido utilizada para representar o corpo de uma forma aceitável para o transporte. À semelhança de Content-Types, uma proliferação de Content-Transfer-Encoding valores é indesejável e desnecessário No entanto, o estabelecimento de apenas um único Content-Transfer-Encoding mecanismo não Parece possível Existe um tradeoff entre o desejo de uma codificação compacta e eficiente de dados em grande parte binários e o desejo de uma codificação legível de dados que é na maior parte, mas não inteiramente, dados de 7 bits Por esta razão, pelo menos dois mecanismos de codificação São necessários uma codificação legível e uma codificação densa. O campo Content-Transfer-Encoding é projetado para especificar um mapeamento invertible entre a representação nativa de um tipo de dados e uma representação que pode ser facilmente trocada usando protocolos de transporte de correio de 7 bits, como Aqueles definidos pelo RFC 821 SMTP Este campo não foi definido por qualquer padrão anterior O campo s valor é um único token especificando o tipo de codificação, conforme enumerado Abaixo Formalmente Esses valores não são sensíveis a maiúsculas Ou seja, Base64 e BASE64 e bAsE64 são todos equivalentes Um tipo de codificação de 7BIT exige que o corpo já esteja em uma representação de sete bits pronta para envio Este é o valor padrão - isto é, Content - Transfer-Encoding 7BIT é assumido se o campo de cabeçalho Content-Transfer-Encoding não estiver presente. Os valores 8bit, 7bit e binário implicam que a codificação NO foi executada. No entanto, eles são potencialmente úteis como indicações do tipo de dados contidos No objeto e, portanto, do tipo de codificação que pode ser necessário executar para transmissão em um dado sistema de transporte 7bit significa que os dados são todos representados como linhas curtas de dados US-ASCII 8bit significa que as linhas são curtas, mas lá Podem ser octetos de caracteres não-ASCII com o conjunto de bit de ordem alta Binary significa que não só podem estar presentes caracteres não-ASCII, mas também que as linhas não são necessariamente curtas o suficiente para transporte SMTP. A diferença entre 8 bits ou Qualquer outro token de largura de bits concebível e o token binário é que o binário não requer aderência a quaisquer limites no comprimento da linha ou à semântica SMTP CRLF, enquanto os tokens de largura de bits requerem tal aderência Se o corpo contiver dados em qualquer bit - Largura diferente de 7 bits, o token de codificação de Content-Transfer-Encoding apropriado deve ser usado, por exemplo, 8 bits para dados não codificados de 8 bits de largura Se o corpo contiver dados binários, o token binário Content-Transfer-Encoding deve ser usado. Entre os valores Content-Transfer-Encoding de binário, 8bit, etc pode parecer sem importância, na medida em que todos eles realmente significam nenhum - ou seja, não houve codificação dos dados para o transporte No entanto, a rotulagem clara será de enorme valor Para gateways entre futuros sistemas de transporte de correio com capacidades diferentes no transporte de dados que não atendam às restrições do transporte RFC 821. À data da publicação deste documento, não há transportes padronizados da Internet para os quais é legítimo O incluir não codificado de 8 bits ou dados binários em corpos de correio Assim, não há circunstâncias em que o 8 bits ou binário Content-Transfer-Encoding é realmente legal na Internet No entanto, no caso de 8 bits ou binário transporte de correio se torna uma realidade No correio da Internet, ou quando este documento é usado em conjunto com qualquer outro mecanismo de transporte de 8 bits ou binário, os corpos de 8 bits ou binários devem ser rotulados como tal usando este mecanismo. Os cinco valores definidos para o Content-Transfer - O campo de codificação não implica nada sobre o Tipo de Conteúdo diferente do algoritmo pelo qual foi codificado ou os requisitos do sistema de transporte se não codificados. Os implementadores podem, se necessário, definir novos valores de Content-Transfer-Encoding, mas devem usar um token x que É um nome prefixado por X - para indicar seu status não padrão, por exemplo, Content-Transfer-Encoding x-my-new-encoding No entanto, ao contrário de Content-Types e subtipos, a criação de novos Content-Transfer-Encoding valores é explicitamente e Fortemente desanimado , Uma vez que parece susceptível de dificultar a interoperabilidade com pouco benefício potencial. O seu uso é permitido apenas como resultado de um acordo entre agentes de utilizador que colaboram. Se um campo de cabeçalho Content-Transfer-Encoding aparece como parte de um cabeçalho de mensagem, aplica-se a todo o Corpo da mensagem Se um campo de cabeçalho Content-Transfer-Encoding aparece como parte dos cabeçalhos de uma parte do corpo, ele se aplica somente ao corpo dessa parte do corpo Se uma entidade for do tipo multipart ou mensagem, Content-Transfer-Encoding é Não é permitido ter qualquer valor diferente de uma largura de bit, por exemplo, 7 bits, 8 bits, etc ou binário. Deve-se notar que o e-mail é orientado a caracteres, de modo que os mecanismos descritos aqui são mecanismos para codificar fluxos de bytes arbitrários, Bit a ser codificado por meio de um desses mecanismos, ele deve primeiro ser convertido em um fluxo de bytes de 8 bits usando a ordem de bit padrão de rede big-endian, em que os bits anteriores em um fluxo tornam-se os bits de ordem superior em um Byte A bit str Eam não termina em um limite de 8 bits deve ser preenchido com zeroes Este documento fornece um mecanismo para observar a adição de tal preenchimento no caso do aplicativo Content-Type, que tem um parâmetro de preenchimento. Os mecanismos de codificação definidos aqui explicitamente codificar todos Dados em ASCII Assim, por exemplo, suponha que uma entidade tenha campos de cabeçalho como Este deve ser interpretado para significar que o corpo é uma codificação ASCII base64 de dados que estava originalmente em ISO-8859-1, e será nesse conjunto de caracteres novamente Após a descodificação. As seções a seguir irá definir os dois mecanismos de codificação padrão A definição de novas codificações de transferência de conteúdo é explicitamente desencorajado e só deve ocorrer quando absolutamente necessário Todo o espaço de nomes de codificação de transferência de conteúdo exceto que começando com X - é explicitamente reservado para o IANA para uso futuro Os acordos privados sobre encoding de transferência de conteúdo também são explicitamente desencorajados. Os valores de Content-Transfer-Encoding somente podem ser usados ​​em determinados Content - Tipos Em particular, é expressamente proibido usar qualquer codificação diferente de 7bit, 8bit ou binário com qualquer Content-Type que recursivamente inclua outros campos Content-Type, notàvelmente o multipart e mensagem Content-Types Todas as codificações que são desejadas para corpos de Tipo multipart ou mensagem deve ser feito no nível mais interno, por codificação do corpo real que precisa ser codificado. NOTA ON ENCODING RESTRICTIONS. Though a proibição contra o uso de conteúdo de transferência de codificações em dados de tipo multipart ou mensagem pode parecer excessivamente restritiva, É necessário evitar codificações aninhadas, nas quais os dados são passados ​​através de um algoritmo de codificação várias vezes e devem ser decodificados várias vezes para serem devidamente visualizados As codificações aninhadas adicionam considerável complexidade aos agentes do usuário, além dos óbvios problemas de eficiência com tais codificações múltiplas , Eles podem obscurecer a estrutura básica de uma mensagem Em particular, eles podem implicar que várias operações de decodificação são necessárias simplesmente para f Ind para fora que tipos de objetos uma mensagem contém Banning codificações aninhadas pode complicar o trabalho de certos gateways de email, mas isso parece menos de um problema do que o efeito de codificações aninhadas em user agents. Observação sobre a relação entre o conteúdo e TIPO de conteúdo TRANSFERÊNCIA Poderá parecer que o Content-Transfer-Encoding poderia ser inferido a partir das características do Content-Type a ser codificado ou, pelo menos, que determinadas Content-Transfer-Encodings poderiam ser mandatadas para uso com Tipos de Conteúdo específicos Existem várias razões pelas quais este não é o caso Em primeiro lugar, dados os diferentes tipos de transportes utilizados para o correio, algumas codificações podem ser apropriadas para algumas combinações de transporte de Content-Type e não para outras Por exemplo, num formato de 8 bits Transporte, nenhuma codificação seria necessária para o texto em determinados conjuntos de caracteres, enquanto essas codificações são claramente exigidas para SMTP de 7 bits Segundo, determinados tipos de conteúdo podem exigir diferentes tipos de codificação de transferência em diferentes cir Por exemplo, muitos corpos PostScript podem consistir inteiramente de linhas curtas de dados de 7 bits e, portanto, requerem pouca ou nenhuma codificação Outros corpos PostScript especialmente aqueles que usam o mecanismo de codificação binária PostScript de Nível 2 só podem ser razoavelmente representados usando uma codificação de transporte binário Finalmente, Uma vez que o Content-Type pretende ser um mecanismo de especificação aberta, a especificação estrita de uma associação entre Content-Types e encodings efetivamente acopla a especificação de um protocolo de aplicação com um transporte de nível inferior específico. Content-Type não deve ter que estar ciente de todos os transportes em uso e quais são suas limitações. NOTA SOBRE TRADUÇÃO ENCODINGS. The citado-printable e base64 codificações são concebidos para que a conversão entre eles é possível A única questão que surge em tal Conversão é o tratamento de quebras de linha Ao converter de quoted-printable para base64 uma quebra de linha deve ser convertida Em uma seqüência de CRLF Da mesma forma, uma seqüência de CRLF em dados de base64 deve ser convertida em uma quebra de linha de impressão entre aspas, mas SOMENTE quando a conversão de dados de texto. NOTA SOBRE MODELO DE CODIFICAÇÃO CANÓNICA. Havia alguma confusão, em esboços anteriores deste memorando, Modelo para quando os dados de email deveriam ser convertidos para forma canônica e codificados e, em particular, como esse processo afetaria o tratamento de CRLFs, dado que a representação de newlines varia muito de sistema para sistema Por esta razão, um modelo canônico para codificação é Apresentado como Apêndice H.5 1 Codificação Quoted-Printable Content-Transfer-Encoding. A codificação Quoted-Printable destina-se a representar dados que consistem basicamente em octetos que correspondem a caracteres imprimíveis no conjunto de caracteres ASCII. Ele codifica os dados de tal forma que Os octetos resultantes são improváveis ​​de ser modificados pelo transporte de correio Se os dados que estão sendo codificados são principalmente texto ASCII, a forma codificada dos dados permanece em grande parte reconhecível por seres humanos Um corpo whi Ch é inteiramente ASCII também pode ser codificado em Quoted-Printable para garantir a integridade dos dados deve passar a mensagem através de um caractere de tradução, e ou line-wrapping gateway. Em esta codificação, octetos devem ser representados como determinado pelo seguinte Regras. Rule 1 Geral representação de 8 bits. Cada octeto, exceto aqueles que indicam uma quebra de linha de acordo com a convenção de nova linha da forma canônica dos dados que estão sendo codificados, pode ser representado por um seguido por uma representação hexadecimal de dois dígitos do octeto s Valor Os dígitos do alfabeto hexadecimal, para este fim, são 0123456789ABCDEF Letras maiúsculas devem ser usadas ao enviar dados hexadecimais, embora uma implementação robusta pode escolher reconhecer letras minúsculas no recebimento Assim, por exemplo, o valor 12 feed de formulários ASCII pode ser representado Por 0C eo valor 61 ASCII EQUAL SIGN pode ser representado por 3D Exceto quando as seguintes regras permitem uma codificação alternativa, esta regra é obrigatória. Rápula 2 Literal represe Os octetos com valores decimais de 33 a 60 inclusive, e 62 a 126, inclusive, podem ser representados como os caracteres ASCII que correspondem aos octetos EXCLAMATION POINT através de LESS THAN, e MAIOR QUE através de TILDE, respectivamente. Rule 3 White Space. Octets Com valores de 9 e 32 podem ser representados como caracteres ASCII TAB HT e SPACE, respectivamente, mas NÃO DEVEM ser assim representados no final de uma linha codificada Todos os caracteres TAB HT ou SPACE em uma linha codificada DEVEM ser seguidos nessa linha por Um caractere imprimível Em particular, um no final de uma linha codificada, indicando uma quebra de linha suave ver regra 5 pode seguir um ou mais caracteres TAB HT ou SPACE Segue-se que um octeto com valor 9 ou 32 aparecendo no final de um codificado Linha deve ser representada de acordo com a Regra 1 Esta regra é necessária porque alguns agentes de transporte de mensagens do MTA, programas que transportam mensagens de um usuário para outro ou executar uma parte dessas transferências são conhecidos para linhas de bloco de texto Com espaços, e outros são conhecidos por remover caracteres de espaço em branco a partir do final de uma linha Portanto, ao decodificar um corpo Quoted-Printable, qualquer espaço em branco à direita em uma linha deve ser excluído, como ele será necessariamente adicionado por intermediários agentes de transporte. Rule 4 Line Breaks. Uma quebra de linha em uma parte do corpo do texto, independente do que sua representação está seguindo a representação canônica dos dados que estão sendo codificados, deve ser representada por uma quebra de linha RFC 822, que é uma seqüência CRLF, - Codificação imprimível Se as CRs e LFs isoladas, ou as sequências LF CR e CR LF forem permitidas aparecerem em dados binários de acordo com a forma canônica, elas devem ser representadas usando as notações 0D, 0A, 0A 0D e 0D 0A, respectivamente. Implementação pode optar por codificar a representação local de vários tipos de conteúdo diretamente Em particular, isso pode se aplicar a material de texto simples em sistemas que usam convenções de nova linha diferente de delimitadores CRLF Tal implementação é permissível Mas a geração de quebras de linha deve ser generalizada para levar em conta o caso em que são usadas representações alternativas de sequências de nova linha. Regra 5 Quebras de Linha Suave. A codificação Quoted-Printable EXIGE que as linhas codificadas não tenham mais de 76 caracteres Se as linhas mais longas Devem ser codificados com a codificação Quoted-Printable, quebras de linha suave devem ser usados ​​Um sinal de igual como o último caractere em uma linha codificada indica uma quebra de linha suave não significativa no texto codificado Assim, se a forma bruta da linha é Uma única linha unencoded que diz This pode ser representada, na codificação Quoted-Printable, como Isso fornece um mecanismo com o qual as linhas longas são codificadas de tal forma a serem restauradas pelo agente do usuário O limite de 76 caracteres não conta a linha de frente CRLF, mas conta todos os outros caracteres, incluindo quaisquer sinais iguais. Visto que o caractere de hífen - é representado como ele próprio na codificação Quoted-Printable, cuidado deve ser tomado, quando encapsulating um quoted-printable codificado b Ody em uma entidade multipart, para garantir que o limite de encapsulamento não aparece em qualquer lugar no corpo codificado Uma boa estratégia é escolher um limite que inclui uma seqüência de caracteres, como que nunca pode aparecer em um corpo citado-printable Veja a definição de multipart Mensagens mais tarde neste documento. NOTA A codificação quoted-printable representa algo de um compromisso entre a legibilidade e a fiabilidade no transporte Os corpos codificados com a codificação quoted-printable funcionarão de forma fiável sobre a maioria dos gateways de correio, mas podem não funcionar perfeitamente em alguns gateways, nomeadamente Aqueles que envolvem tradução em EBCDIC Em teoria, um gateway EBCDIC poderia decodificar um corpo citado-imprimível e recodificá-lo usando base64, mas tais gateways ainda não existem Um nível mais elevado de confiança é oferecido pelo base64 Content-Transfer-Encoding A maneira Para obter um transporte razoavelmente confiável através de gateways EBCDIC é também citar os caracteres ASCII de acordo com a regra 1 Consulte o Apêndice B para obter mais informações. Beca Usar dados de impressão entre aspas é geralmente assumido como orientado a linha, é de esperar que as quebras entre as linhas de dados imprimíveis cotados podem ser alteradas no transporte, da mesma forma que o correio de texto simples sempre foi alterado no correio da Internet Ao passar entre sistemas com diferentes convenções de nova linha Se tais alterações são susceptíveis de constituir uma corrupção dos dados, é provavelmente mais sensato usar a codificação base64 em vez da codificação quoted-printable.5 2 Base64 Content-Transfer-Encoding. The Base64 Content-Transfer-Encoding é projetado para representar seqüências arbitrárias de octetos em uma forma que não é humanamente legível. Os algoritmos de codificação e decodificação são simples, mas os dados codificados são consistentemente apenas cerca de 33 por cento maior do que os dados não codificados Esta codificação é baseada na Um usado em aplicações Privacy Mail Enhanced, conforme definido no RFC 1113 A codificação base64 é adaptado do RFC 1113, com uma base64 mudança elimina o mecanismo para em Um subconjunto de 65 caracteres de US-ASCII é usado, permitindo que 6 bits sejam representados por caráter imprimível O caractere 65 extra,, é usado para significar uma função de processamento especial. NOTA Este subconjunto tem a importante propriedade que é Representada de forma idêntica em todas as versões da ISO 646, incluindo US ASCII, e todos os caracteres no subconjunto também são representados de forma idêntica em todas as versões do EBCDIC Outras codificações populares, como a codificação usada pelo utilitário UUENCODE ea codificação base85 especificada como parte do Nível 2 PostScript, não compartilham essas propriedades e, portanto, não cumprem os requisitos de portabilidade uma codificação de transporte binário para correio deve atender. O processo de codificação representa 24-bit grupos de bits de entrada como seqüências de saída de 4 caracteres codificados Procedendo da esquerda para a direita, Um grupo de entrada de 24 bits é formado pela concatenação de 3 grupos de entrada de 8 bits. Esses 24 bits são então tratados como 4 grupos de 6 bits concatenados, cada um dos quais é traduzido em um único dígito i N o alfabeto base64 Quando a codificação de um fluxo de bits através da codificação base64, o fluxo de bits deve ser presumido para ser encomendado com o mais significativo bit primeiro Isso é, o primeiro bit no fluxo será o bit de alta ordem no primeiro Byte eo oitavo bit será o bit de baixa ordem no primeiro byte e assim sucessivamente. Cada grupo de 6 bits é usado como um índice em uma matriz de 64 caracteres imprimíveis O caractere referenciado pelo índice é colocado na saída String Esses caracteres, identificados na Tabela 1, abaixo, são selecionados de modo a serem universalmente representáveis, e o conjunto exclui caracteres com particular significado para SMTP, por exemplo, CR, LF e para os limites de encapsulamento definidos neste documento. Base64 Alphabet. Os bytes codificados do fluxo de saída devem ser representados em linhas de não mais de 76 caracteres cada. Todas as quebras de linha ou outros caracteres não encontrados na Tabela 1 devem ser ignorados pelo software de decodificação. Em dados base64, Pausas e Outro espaço em branco provavelmente indica um erro de transmissão, sobre o qual uma mensagem de aviso ou mesmo uma rejeição de mensagem pode ser apropriado em algumas circunstâncias. Processamento especial é realizado se menos de 24 bits estão disponíveis no final dos dados que estão sendo codificados Um quantum de codificação completo é Sempre concluído no final de um corpo Quando menos de 24 bits de entrada estão disponíveis em um grupo de entrada, bits zero são adicionados à direita para formar um número inteiro de grupos de 6 bits posições de caracteres de saída que não são necessários para representar dados de entrada reais São definidos para o caractere Uma vez que toda a entrada de base64 é um número inteiro de octetos, somente os seguintes casos podem surgir 1 o quantum final de entrada de codificação é um múltiplo integral de 24 bits aqui, a unidade final de saída codificada será um múltiplo integral de 4 caracteres sem preenchimento, 2 o quantum final de entrada de codificação é exatamente 8 bits aqui, a unidade final de saída codificada será dois caracteres seguidos por dois caracteres de preenchimento, ou 3 O quantum final de entrada de codificação é exatamente 16 bits aqui, a unidade final de saída codificada será três caracteres seguido por um caractere de preenchimento. Cuidado deve ser tomado para usar os octetos adequados para quebras de linha se codificação base64 é aplicada diretamente ao material de texto que Não foi convertida em forma canônica Em particular, as quebras de linha de texto devem ser convertidas em seqüências CRLF antes da codificação base64 O importante é observar que isso pode ser feito diretamente pelo codificador em vez de em uma etapa de canonização anterior em algumas implementações. There is no need to worry about quoting apparent encapsulation boundaries within base64-encoded parts of multipart entities because no hyphen characters are used in the base64 encoding. Please Whitelist This Site. I know everyone hates ads But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write I don t want to go to a pay-only model like some sites, but when more an d more people block ads, I end up working for free And I have a family to support, just like you. If you like The TCP IP Guide, please consider the download version It s priced very economically and you can read all of it in a convenient format without ads. If you want to use this site for free, I d be grateful if you could add the site to the whitelist for Adblock To do so, just open the Adblock menu and select Disable on Or go to the Tools menu and select Adblock Plus Preferences Then click Add Filter at the bottom, and add this string Then just click OK. Thanks for your understanding. Sincerely, Charles Kozierok Author and Publisher, The TCP IP Guide. NOTE Using software to mass-download the site degrades the server and is prohibited If you want to read The TCP IP Guide offline, please consider licensing it Thank you. The Book is Here and Now On Sale. Enjoy The TCP IP Guide Get the complete PDF. MIME Content-Transfer-Encoding Header and Encoding Methods Page 2 of 3.MIME Encoding Methods. To send non-ASCII data in MIME, it is necessary that it be encoded The Content-Transfer-Encoding header is used to specify how a MIME message or body part has been encoded, so that it can be decoded by its recipient The following types of encoding are defined.7bit This indicates that the message is already in ASCII form compatible with RFC 822 It is the default and is what is assumed if no Content-Transfer-Encoding header is present.8bit binary These synonymous values mean the message has been encoded directly in 8-bit binary form Yes, I did just say that this would violate the rules of RFC 822 These options appear to have been included to support future mechanisms for transporting binary data directly RFC 1652 describes an SMTP extension that discusses this in part SMTP Service Extension for 8bit-MIMEtransport sic, there is no space between MIME and transport However, the standard is clear that this still does not allow the transfer of raw binary data using SMTP and RFC 822.quoted-printa ble This is a special encoding that is used when most of the data is ASCII text, but when it contains certain violations of the rules of RFC 822 These illegal sections are converted using special encoding rules so the data as a whole is consistent with RFC 822.base64 An encoding used to allow arbitrary binary data to be represented in ASCII form The data is then sent as ASCII and decoded back into binary form by the recipient. The quoted-printable and base64 encodings are the most interesting ones, because they are what allow non-RFC-822 data to be sent using RFC 822.Key Concept MIME supports four encoding methods 7bit 8bit binary quoted-printable and base64 7bit encoding is standard ASCII and is used for text quoted-printable encoding is for output that is mostly text but has some special characters that must be encoded base64 is used for arbitrary binary files The 8bit encoding method is defined in MIME but not used for RFC 822 messages. This encoding method is used when the message is mostly ASCII only the problem bytes are encoded The result is that RFC 822 compatibility is achieved while maintaining most of the data as regular text so it can still be easily understood by a human. An example of where this would be letters with tildes or accents, such as those used in French or Spanish Another would be a text message formed using an editor that inserts carriage return characters in the middle of a line Most of the message is still text The quoted-printable encoding can be used here, with the carriage return characters represented as 0D the hexadecimal value of the character prepended by an equal sign RFC 2046 contains more details on how this is done. Following content is been captured at TcpMon. Request made by SoapUI Pro 3 0 2.POST tf6 services xdsrepositoryb Accept-Encoding gzip, deflate Content-Type multipart related type application xop xml start start-info application soap xml action boundary ---- Part1728349551 1260534830078 MIME-Version 1 0 User-Agent Jakar ta Host Content-Length 13318.------ Part1728349551 1260534830078 Content-Type application xop xml charset UTF-8 type application soap xml action ProvideAndRegisterDocumentSetRequest Content-Transfer-Encoding 8bit Content-ID.------ Part1728349551 1260534830078 Content-Type text plain charset us-ascii Content-Transfer-Encoding 7bit Content-ID. This is depeche s document. Request made by xdstest tool. POST tf6 services xdsrepositoryb Content-Type multipart related boundary MIMEBoundaryurnuuid613A2BD2D99F1E6B5912 60534073176 type application xop xml start start-info application soap xml action urn ihe iti 2007 rovideAndRegisterDocumentSet-b User-Agent Axis2 Host Transfer-Encoding chunked.20f1 --MIMEBoundaryurnuuid613A2BD2D99F1E6B59126053407 3176 Content-Type application xop xml charset UTF-8 type application soap xml Content-Transfer-Encoding binary Content-ID.--MIMEBoundaryurnuuid613A2BD2D99F1E6B59126053407 3176 Content-Type text plain Content-Transfer-Encoding binary Content-ID 1 g. This is my document. From where can i set Content-Transfer-Encoding as binary. At the nist public registry, you can view the text document which is been sent as an attachment. I have also tried making Encode Attachments as true under TestRequest Properties But its not working either Thanks for the help.

Comments

Popular posts from this blog

Free Forex Negociação Sinais Atualização Hora

Free Forex Signals. No DailyForex, estamos fora para provar que os sinais de Forex livre pode ser tão confiável quanto assinaturas de sinal caro Nossos sinais de Forex confiável irá fornecer-lhe conselhos de especialistas sobre quando comprar e vender os principais pares de moeda sem custar-lhe um centavo Se você está procurando por sinais diários, recomendamos que você examinar as nossas opiniões Forex trading sinais para um olhar para alguns dos melhores fornecedores de sinais profissionais. Mas se esta é a sua primeira vez usando sinais de negociação ou você precisa de sinais confiáveis ​​Forex apenas algumas vezes Uma semana, experimente os nossos sinais de Forex livres que estamos ansiosos para ajudá-lo a negociar com sucesso. Olhando para a análise técnica de outros pares de moedas Consulte nossa análise Forex técnica diária. Obtenha sinais mais sofisticados ao vivo por SMS para o seu celular durante o dia para Get 3 Meses free now. Browse por category. Forex Brokers. Free Forex

3 Binário Opções Negociação Estratégias

Opções Binárias Estratégias. Com negociação de opções binárias, saber como o comércio é apenas uma parte da equação A outra parte da equação implica saber como o comércio bem e isso envolve o uso de uma estratégia de negociação de som Em outras palavras, Não estar completa sem ter aprendido algumas das estratégias que podem ser usadas em suas atividades de negociação Nesta seção sobre estratégias de opção binária, os leitores começarão a aprender sobre as várias estratégias de negociação empregadas por comerciantes binários Independentemente do seu nível de habilidade de negociação, temos estratégias Que irá cobrir os comerciantes iniciantes, intermediários comerciantes e comerciantes avançados. Para Beginner Traders Beginner s estratégias são caracterizadas por sua simplicidade Eles essencialmente dependem de conceitos simples que novos comerciantes podem facilmente compreender Por exemplo, negociação de notícias é tudo sobre análise fundamental Por entender como os vários Fatores mac