AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1553666
Accepted
Old Geezer
Old Geezer
Asked: 2020-05-21 18:38:56 +0800 CST2020-05-21 18:38:56 +0800 CST 2020-05-21 18:38:56 +0800 CST

UTF-8 vs UTF-8 com BOM

  • 772

O Notepad.exe mais recente tem um Salvar como UTF-8e UTF-8 with BOM.

é UTF-8 with BOMo velho UTF? O que é UTF-8agora?

windows-10 notepad
  • 2 2 respostas
  • 10399 Views

2 respostas

  • Voted
  1. Best Answer
    Giacomo1968
    2020-05-21T19:54:33+08:002020-05-21T19:54:33+08:00

    UTF-8 é UTF-8 independentemente da existência ou não de um BOM.

    Salvar um arquivo com um BOM (marca de ordem de byte) não é realmente necessário para UTF-8.

    O fato de o Bloco de Notas permitir salvar arquivos em “UTF-8” ou “UTF-8 com BOM” parece ser uma opção que existe para permitir flexibilidade nos casos em que é necessário um BOM (byte order mark). Mas, em geral, apenas salvar o arquivo sem um BOM - ou seja, UTF-8 simples - é realmente a melhor maneira de lidar com arquivos de texto com conteúdo UTF-8.

    Conforme explicado na página da Wikipedia para marca de ordem de byte :

    “O uso do BOM é opcional. Sua presença interfere no uso de UTF-8 por software que não espera bytes não ASCII no início de um arquivo, mas que, de outra forma, poderia lidar com o fluxo de texto.”

    E o artigo se aprofunda ao afirmar o seguinte ; o destaque em negrito é meu:

    “A representação UTF-8 do BOM é a sequência de bytes (hexadecimal) 0xEF,0xBB,0xBF.

    O padrão Unicode permite o BOM em UTF-8, mas não exige ou recomenda seu uso. A ordem de byte não tem significado em UTF-8, portanto, seu único uso em UTF-8 é sinalizar no início que o fluxo de texto está codificado em UTF-8 ou que foi convertido para UTF-8 de um fluxo que continha um lista técnica opcional. O padrão também não recomenda a remoção de um BOM quando ele está lá, para que o ciclo de ida e volta entre as codificações não perca informações e para que o código que depende dele continue funcionando. O IETF recomenda que, se um protocolo (a) sempre usar UTF-8 ou (b) tiver alguma outra maneira de indicar qual codificação está sendo usada, "DEVE proibir o uso de U+FEFF como assinatura".

    Não usar um BOM permite que o texto seja compatível com versões anteriores de alguns softwares que não reconhecem Unicode. Os exemplos incluem linguagens de programação que permitem bytes não ASCII em strings literais, mas não no início do arquivo.”

    Quanto ao motivo pelo qual a Microsoft se preocupa em salvar UTF-8 com um BOM no bloco de notas? Isso explica bem; parece ser um requisito específico das ferramentas de programação da Microsoft e não de qualquer outra ferramenta que não seja da Microsoft:

    “Os compiladores e interpretadores da Microsoft e muitos softwares no Microsoft Windows, como o Notepad, tratam o BOM como um número mágico obrigatório, em vez de usar heurística. Essas ferramentas adicionam um BOM ao salvar texto como UTF-8 e não podem interpretar UTF-8, a menos que o BOM esteja presente ou o arquivo contenha apenas ASCII. O Google Docs também adiciona um BOM ao converter um documento em um arquivo de texto simples para download.”

    Portanto, a menos que você precise explicitamente salvar um arquivo UTF-8 com um BOM a ser definido para um arquivo, não se preocupe com essa opção de salvamento.

    • 7
  2. Mark
    2020-05-21T23:41:32+08:002020-05-21T23:41:32+08:00

    A outra resposta está errada. É alguma coisa política. ANSI é o formato de texto padrão no Windows e existe há 36 anos.

    No Windows, os arquivos são considerados ANSI. Portanto, você sempre usa um BOM. Programas Unix que não podem lidar com BOMs não são compatíveis com Unicode.

    Eu escrevo editores de texto. Se o usuário não especificar, é ANSI - SEMPRE.

    Presumir que você obterá Unicode sem BOM significa que você deve chamar https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-istextunicode para adivinhar o formato. Dificilmente programação adequada.

    • -3

relate perguntas

  • O serviço de arbitragem USB da estação de trabalho VMware não inicia automaticamente

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • atalho do shell da área de trabalho no painel lateral do explorer

  • Por que não consigo enviar arquivos do Android para o Windows 10?

  • Abrir com em vários arquivos?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve