一、ASCII碼
ASCII碼是計算機在早期時代最重要的編碼方式之一。它將所有常用的字元映射到0-127的數字,共包含了128個字元。其中從0到31是控制字元,32到127是列印字元。
ASCII碼具有簡單、緊湊、易於存儲、傳輸等特點。在計算機通訊、系統管理、文本編輯等方面都得到了廣泛應用。
// ASCII碼的示例代碼 #include <stdio.h> int main() { char ch = 'A'; printf("字元 %c 的ASCII碼為 %d", ch, ch); return 0; }
二、Unicode編碼
Unicode編碼是一種全球通用的字元編碼標準,是各種語言文字、符號和表情等基本字符集。它採用16位或32位的編碼單元,可以表示範圍更廣的字元,包括幾乎所有的現代語言的字元。
Unicode編碼的優點是可以支持多語言,可以應用於各個領域,如操作系統、辦公軟體、網頁設計等。
// Unicode編碼的示例代碼 #include <stdio.h> #include <wchar.h> int main() { wchar_t ch = L'中'; wprintf(L"字元 %lc 的Unicode編碼為 %d", ch, ch); return 0; }
三、UTF-8編碼
UTF-8編碼是Unicode的一種變長編碼方式,它使用1-4個位元組存儲Unicode碼位,可以在各種計算機系統中使用,包含ASCII碼的兼容性。在Web應用、電子郵件、資料庫等方面,UTF-8是非常常用的編碼方式。
UTF-8的優點是節省存儲空間,處理方便,同時可以表示幾乎所有Unicode字元。
// UTF-8編碼的示例代碼 #include <stdio.h> #include <wchar.h> #include <locale.h> int main() { setlocale(LC_ALL, "zh_CN.UTF-8"); // 設置本地環境為UTF-8 wchar_t ch = L'中'; printf("Unicode編碼為 %d,UTF-8編碼為:", ch); wprintf(L"%lc", ch); return 0; }
四、GB2312編碼
GB2312編碼是一種中文字元編碼標準,包括6,763個簡體漢字和682個其它字元。它使用兩個位元組表示一個漢字,每個位元組最高位都為0。
GB2312編碼主要應用於中文信息處理系統、電子出版物、計算機設計、各種辦公自動化系統及資料庫管理系統等方面。
// GB2312編碼的示例代碼 #include <stdio.h> int main() { char str[] = "中華人民共和國"; printf("GB2312編碼為:"); for (int i = 0; i < sizeof(str); i++) printf("%02X ", str[i]); return 0; }
五、Base64編碼
Base64編碼是一種基於64個可列印字元(包括字母、數字和符號)來表示二進位數據的編碼方式。這種編碼方式是由網路應用場景提出來的,比如電子郵件中傳輸二進位數據。它將二進位數據轉換為純文本,方便傳輸。
Base64編碼的優點是可移植性強、處理方便、適合傳輸較短的二進位數據。
// Base64編碼的示例代碼 #include <stdio.h> #include <string.h> #include <base64.h> int main() { char data[] = "hello world"; char encoded[100]; memset(encoded, 0, sizeof(encoded)); base64_encode(data, strlen(data), encoded, sizeof(encoded)); printf("Base64編碼為:%s", encoded); return 0; }
原創文章,作者:VWWWS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/332713.html