linuxunicode
發布時間: 2023-07-03 05:15:13
1. 請求在linux下C語言如何將漢字轉換成UTF
試試這個四個函數,C 裡面的,Linux 可用:
mbtowc
wctomb
mbstowcs
wcstombs
在 Linux 下試試看吧:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(void)
{
size_t cch;
char psz[1024];
wchar_t pwsz[] = { 0x52B3, 0x788C, 0x788C, 0 };
setlocale(LC_ALL, "");
cch = wcstombs(psz, pwsz, 1024);
if (cch != 0 && cch != -1) {
printf("%s", psz);
}
return 0;
}
zdl_361 說的 "utf8 勞碌碌" 不對,因為我也輸出 "勞碌碌",而我是用 Unicode 編碼的。在 Windows 上,char 是 ANSI,Unicode (wchar_t) 是 UTF-16;在 Linux 上,char 是 UTF-8,Unicode (wchar_t) 是 UTF-32。不過對於這個函數來說,在哪個平台上都不會因為字元編碼而影響使用。
熱點內容