No meu teste, editar um UTF-8arquivo não altera a codificação e a BOM permanece ( efbb bf). (modo nxml)
Bem, isso pode variar entre xml-modee nxml-mode, ou a versão do emacs (24 vs 26). Diz o modo na parte inferior.
Se você editar um arquivo XML do Emacs e codificado em unicode ( UTF-16little endian), ele mudará a codificação para UTF-16big endian. Talvez seja sobre isso que ele está falando.
Mas a lista técnica ainda está lá, alterada de fffepara ffef, e os nulos estão no byte ímpar, em vez do par. Você pode vê-lo no modo hexl.
Arquivo xml de amostra. O atributo encoding direciona a codificação quando o emacs a salva no modo xml ou nxml. Uma versão futura será corrigida para verificar primeiro a lista técnica.
<?xml version="1.0" encoding="UTF-16"?>
<hi />
Parece que o Emacs aceita UTF-16como UTF-16BE, enquanto o Windows aceita como UTF-16LE(BE e LE não funcionam no Emacs para o atributo de codificação). O atributo de codificação é provavelmente a chave para os problemas aqui.
Salvá-lo no PowerShell o converterá novamente em utf-16le.
[xml]$xml = get-content test.xml; $xml.save('test.xml')
Com codificação = "UTF-16LE" e codificação = "UTF-16BE", o bom é removido, tornando o arquivo irreconhecível no emacs. Este é um bug confirmado que será corrigido: http://lists.gnu.org/archive/html/bug-gnu-emacs/2019-05/msg00892.html