[英]How do I save my file in UTF-16 LE encoding without BOM in VS2015?
在此鏈接中,您將找到我在下面復制的表 1。 請注意,此表第三列的標題指定: UTF-16LE w/ or w/o BOM
。 我能夠保存包含以下代碼段的文件,
#include <iostream>
int main()
{
char c[] = u8"屰";
int i = 1;
}
通過選擇菜單選項Advanced Save Options...
在 VS2015 的File
菜單下, Unicode codepage 1200
正好對應於UTF-16LE encoding with BOM
。 這可以在下面的第二張圖片中查看,我粘貼了使用二進制編輯器獲得的文件圖像的副本。 可以看到文件的前兩個字節是0xFF 0xFE
代表UTF16-LE encoding
的 BOM。 但是我無法在Advanced Save Options...
對話框中找到一個選項,用於使用UTF-16LE encoding without BOM
來保存我的文件。 我該怎么做?
表 1 - 今天使用各種編碼編譯代碼時的結果示例。
文件編碼 | 帶 BOM 的 UTF-8 | UTF-16LE 帶或不帶 BOM | UTF-8 無 BOM | DBCS (936) |
---|---|---|---|---|
源文件中代表屰的字節 | E5 B1 B0 | 70 5℃ | E5 B1 B0 | 8C數據庫 |
源轉換 | UTF-8 -> UTF-8 | UTF-16LE -> UTF-8 | 1252 -> UTF-8 | 1252 -> UTF-8 |
內部 (UTF-8) 表示 | E5 B1 B0 | E5 B1 B0 | C3 A5 C2 B1 C2 B0 | C5 92 C3 9B |
這不是 VS2015 的選項。 即使是流行的Notepad++也沒有沒有 BOM 的 UTF-16 選項。
如果只是為了實驗而這樣做,請在保存后使用任何十六進制編輯器刪除 BOM。 VS2015 內置了一個二進制編輯器。 使用 BOM 將文件保存為 UTF-16LE 后,使用二進制編輯器關閉並重新打開文件並刪除 BOM。 但是,我發現沒有它,VS2015 無法正確打開文件,這可能是該選項不可用的原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.