Resumo
- A “quase cópia de bytes” da RFC 2159 também mapeava parâmetros, invertia a ordem de bits, preenchia páginas e criava uma fronteira com seis EOL.
- A volta sem perda dependia de limites de página, EOL finais e bits DCS não nomeados; um hash idêntico do corpo não provava a restauração do mesmo objeto fax.
- Uma volta estrutural correta ainda não comprovava suporte do decodificador, geometria exata da linha nem uma imagem fiel e utilizável.
“Quase” era uma descrição técnica
Publicada em janeiro de 1998, a RFC 2159 definiu como transportar em MIME informações já codificadas como fax Grupo 3 e como relacioná-las com X.400. Não vendeu image/g3fax como formato geral de imagem. O objetivo era preservar uma representação existente entre dois sistemas de mensagens.
O objeto reunia três tipos de estado: opções de codificação, estrutura de páginas e bits T.4 de cada página. As opções viravam parâmetros MIME; a sequência de BIT STRING do X.400 virava um corpo contínuo delimitado; os dados de página adotavam outra ordem de bits dentro do byte.
A RFC 1494 definira Byte Copy como copiar sem conversão. G3Fax já recebia o “nearly”. Não era preciso descomprimir e recomprimir a imagem, mas era necessário reconstruir o recipiente.
Valor ausente também era valor
Os parâmetros MIME cobriam comprimento, largura, codificação unidimensional, bidimensional ou sem compressão, resolução fina ou grossa, número de páginas e uma Device Control String em Base64. Quando nada era declarado, valiam A4, A4, uma dimensão e resolução grossa.
Os números dos bits nomeados diferiam em T.30 e X.400 porque cada padrão contava a partir de uma extremidade do octeto. O gateway precisava mapear significado, não posição. Isso era separado da inversão posterior de todos os bits dentro de cada byte do corpo.
Se a cadeia de controle tivesse qualquer bit sem opção nomeada, a RFC dizia que o parâmetro DCS deveria ser fornecido. Ao mesmo tempo, não garantia interoperabilidade para esses NonBasicParameters. Preservar o bit mantinha a evidência; não criava a função no destinatário.
A fronteira da página precisava ser construída
X.400 guardava uma sequência ASN.1 de BIT STRING, um por página. MIME precisava de um corpo único. A RFC 2159 adotou seis EOL consecutivos como limite; cada EOL era formado por onze zeros e um um. O conjunto tinha de começar em fronteira de byte, exigindo zeros de preenchimento.
O padrão completo era 00 10 01 00 10 01 00 10 01, que o documento dizia não aparecer dentro da imagem. A página podia ser localizada sem renderização, mas posição, alinhamento e preenchimento passavam a fazer parte do recibo. Um fluxo achatado não comprovava a mesma sequência de páginas.
De X.400 para MIME, retiravam-se EOL finais, ajustava-se a ordem para que o bit mais significativo do primeiro byte viesse primeiro, preenchia-se o byte, acrescentavam-se seis EOL e concatenavam-se as páginas. Na volta, separava-se pelos seis EOL, conservavam-se os EOL finais, invertiam-se os bits de cada byte e remontava-se a sequência ASN.1.
Conservar os EOL era uma mudança explícita em relação à RFC 1494, que mandava remover EOL e preenchimento no retorno. A categoria “quase cópia” permaneceu; a regra exata mudou.
O hash precisa dizer qual camada mede
Um hash estável do corpo MIME mostra que aqueles octetos atravessaram o trecho observado. Não mostra que o gateway anterior escolheu a ordem correta. Os bytes empacotados do BIT STRING podem diferir dos bytes MIME numa conversão correta, porque a inversão é intencional.
A comparação útil registra bits significativos por página, bits ASN.1 não usados, regra de ordem, zeros adicionados e deslocamentos dos separadores. Na volta, precisa restaurar páginas, bits significativos, parâmetros e DCS.
A RFC 2157 fornece o critério: equivalence é o par de mappings que, juntos, oferecem conversão sem perda. Produzir uma saída válida em uma direção demonstra apenas uma seta.
Reversível ainda não significava visível
A orientação de implementação separou estrutura de uso. Sem fineResolution, os pixels eram duas vezes mais altos que largos. Certas resoluções e comprimentos eram mais fáceis de suportar que larguras B4 ou A3. Alguns aparelhos tinham problemas quando a linha não continha exatamente o número declarado de pixels, inclusive quando o branco à direita era omitido.
Assim, o gateway pode restaurar páginas e opções, mas o decodificador não admitir o modo. Pode aceitar os dados e deformar a geometria. Uma página plausível pode estar cortada. Sintaxe, reconstrução, dimensão, aparência e leitura são observações distintas.
O registro atual da IANA ainda lista image/g3fax, e as tabelas históricas MIME/X.400 o associam a g3-facsimile. Isso prova um identificador público, não a implementação de um produto nem a capacidade do receptor.
Um teste defensável começa com parâmetros X.400, DCS, páginas, comprimentos significativos e impressões por página, além da versão do gateway. Em MIME, guarda parâmetros, preenchimento e posições de fronteira. A volta compara a sequência. Só depois se testam modos, pixels por linha, dimensões e renderização.
Os ensaios de Lu Heng sobre código em execução, especificação mínima e camadas da realidade oferecem uma lente declarada: regra, execução, representação e resultado não emprestam prova uns aos outros.
O “quase” da RFC 2159 era uma lista do que ficava fora da cópia. Sem opções, páginas, ordem, preenchimento ou capacidade, um corpo intacto podia deixar de ser o fax original.
Fontes
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance

