簡體   English   中英

如何在 VS2015 中將我的文件保存為 UTF-16 LE 編碼而不使用 BOM?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM