簡體   English   中英

libc中的字符編碼?

[英]character encoding in libc?

libc中預期的字符編碼是什么? 例如,gethostname(char name,size_t namelen); 以char為參數。 是否期望name參數在utf8(保持ascii完整)或plain ascii或其他格式中編碼?

C還要求任何字符編碼方案嗎?

所有字符串函數(widechar除外)都只支持本機字符集,例如Unix / Linux / Windows上的ASCII或IBM大型機/中型計算機上的EBCDIC。

  • char使用ASCII
  • wchar_t是unicode的標准C數據類型

使用和處理廣泛的人物。

char應該是一個7位兼容的ASCII編碼(雖然我找不到任何明確的參考)。 wchar_t定義留給實現 ,但C標准要求C可移植字符集中的字符相同。 如果我理解正確的話,那么

char a = 'a';
wchar_t aw = L'a';
if (a == (char)aw) {
    // should be true
}

該標准沒有提及UTF-8的任何內容。

您可能必須使用第三方庫,例如GLib 這個lib是可移植的,非常有用,它還提供正則表達式,數據結構等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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