如何在python中保存文件时添加BOM(unicode签名):
file_old = open('old.txt', mode='r', encoding='utf-8')
file_new = open('new.txt', mode='w', encoding='utf-16-le')
file_new.write(file_old.read())
Run Code Online (Sandbox Code Playgroud)
我需要将文件转换为utf-16-le + BOM.现在脚本工作得很好,除了没有BOM.
我正在尝试编写.txt文件,它必须是UCS-2 Little Endian,但是当我尝试时
writer = new PrintWriter(path, "UTF-16LE");
Run Code Online (Sandbox Code Playgroud)
从我读到的它应该是相同的,但它不会在服务器上的特定应用程序中工作.当我打开在Notepad ++中工作(手动创建)的文件时,它表示它是"UCS-2 Little Endian",但是当它用Java创建时,它表示"UCS-2 LE w/o BO"并且服务器无法读取它.
我该怎么写它才能起作用?这是完整的代码:
writer = new PrintWriter(path, "UTF-16LE");
for (int j = (i - itemsInPlaylist + 1); j <= i; j++) {
writer.println(listParsedFile.get(j).getNameOfFile());
}
itemsInPlaylist = 0;
writer.close();
Run Code Online (Sandbox Code Playgroud)
谢谢你的任何建议.