2012-07-20 23 views
7

Tôi đang cố gắng để chuyển đổi một UTF-16BE tập tin mã hóa (byte để đánh dấu: 0xFE 0xFF) sang UTF-8 sử dụng iconv như vậy:Sử dụng iconv để chuyển đổi từ UTF-16BE sang UTF-8 mà không BOM

iconv -f UTF-16BE -t UTF-8 myfile.txt 

Kết quả đầu ra, tuy nhiên, có dấu thứ tự byte UTF-8 (0xEF 0xBB 0xBF) và đó không phải là những gì tôi cần. Có cách nào để nói với biểu tượng (hoặc có mã hóa tương đương) để không đặt BOM trong kết quả UTF-8 không?

Trả lời

12

Thử nghiệm cho thấy chỉ UTF-16 hơn UTF-16BE làm những gì bạn muốn:

iconv -f UTF-16 -t UTF-8 myfile.txt 
+2

trình nhưng vẫn tò mò tại sao nó hoạt động theo cách đó. Thí nghiệm của tôi cũng dẫn tôi theo cách này nhưng cảm ơn vì đã dùng thử. –

+0

Tuyệt vời, cảm ơn bạn! bạn đã cứu tôi rất nhiều thời gian – Vor