O Notepad.exe mais recente tem um Salvar como UTF-8
e UTF-8 with BOM
.
é UTF-8 with BOM
o velho UTF
? O que é UTF-8
agora?
O Notepad.exe mais recente tem um Salvar como UTF-8
e UTF-8 with BOM
.
é UTF-8 with BOM
o velho UTF
? O que é UTF-8
agora?
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 :
E o artigo se aprofunda ao afirmar o seguinte ; o destaque em negrito é meu:
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:
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.
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.