어딘가에 답변이 있었다면 죄송합니다. 어떻게 찾아야 할지 모르겠습니다. 은행으로부터 처리해야 할 일련의 보고서를 받았는데, 그 보고서가... 잘못 인코딩된 것 같습니다.
VIM의 처음 두 줄:
1 ^M^@
2 ^@:^@2^@0^@:^@3^@0^@4^@0^@7^@1^@9^@^M^@
예를 들어 gedit의 동일한 두 줄은 다음과 같습니다.
1
2 :20:3040719
무슨 일인지 말해 줄 사람 있나요? 또는 를 사용하여 파일을 여는 것은 fenc=utf8
중요하지 않습니다 fenc=cp1250
(이것은 이러한 파일이 사용해야 하는 인코딩입니다). fenc=ucs-bom
엔디안과 관련이 있다고 생각해서 시도해 보았지만 역시 아무런 변화가 없었습니다. 나는 ^@
그것이 null이고 ^M
Windows 스타일 개행(CRLF)이라는 것을 알고 있지만 ff=dos
와 ff=unix
.
같은 은행에 오래된 파일이 있는데(몇 가지 변경 사항이 적용되기 전) 잘 작동했습니다. 손상된 파일에는 file
다음과 같은 내용이 표시되지만 , 다음과 같이 표시됩니다 .extended-ASCII
data
$ file *sta
20220411_182719.sta: Non-ISO extended-ASCII text, with CRLF line terminators
20220412_071916.sta: data
VIM에서 이러한 문자를 바꾸고 파일을 처리할 수 있지만 PHP를 사용하여 하루에 수천 개의 파일을 자동화해야 하며 실제로 VIM을 사용할 수 없습니다. 이상적으로는 은행 지원 담당자에게 그들이 무엇을 망쳤는지 말하는 것입니다.
답변1
알겠습니다. 찾았습니다. 그것은 UTF-16 Little Endian
.
:e ++enc=utf16le
이제 처리할 때 올바르게 변환할 수 있습니다.