用Delphi寫乙個UTF8編碼格式的文字檔案

2021-06-22 14:31:52 字數 418 閱讀 7820

...

var f: textfile;

begin

assignfile(f, 'test.txt');

rewrite(f);

write(f, #$ef+#$bb+#$bf); // utf-8 bom,關鍵就是寫入這個utf-8的bom, bom 是 bype order mark 的縮寫。

writeln(f, utf8encode('中文'));

closefile(f);

...

在delphi中textfile物件建立檔案時預設是 ansi 編碼, 這樣中文或者其它非英文本元顯示的時候就會變成亂碼。

以上是生成乙個utf8編碼的文字檔案的**。

byte order 

mark

用C語言寫UTF 8編碼的檔案

為實現用c語言寫utf 8編碼的檔案,測試了以下兩種情況。第一種情況,為 fopen 指定乙個編碼,然後寫入 wchar t 字串,最終寫入的檔案就是utf 8編碼的了,原理不清楚,估計是 fwrite 時對 wchar t 做了編碼轉換 如果寫入 char 的話就會亂碼 include inclu...

Java生成乙個UTF 8檔案

生成utf 8檔案.如果檔案內容中沒有中文內容,則生成的檔案為ansi編碼格式 如果檔案內容中有中文內容,則生成的檔案為utf 8編碼格式。param filenametemp 待生成的檔名 含完整路徑 param str 檔案內容 private static void writetxtfile ...

UTF 8 編碼裡,乙個漢字占用多少個位元組 轉

在查詢 utf 8 編碼資料時發現,很多的帖子說的 utf 8 編碼裡,乙個漢字占用3個位元組,有的還做了個證明,大概是這樣的,建立乙個沒有bom的utf 8編碼的文字檔案,裡面儲存了幾個漢字,然後檢視檔案的大小。我覺得這樣的證明沒有一點說服力,因為 utf 8 是變長的,1 6個位元組,少量的漢字...