若要直接讀取變數在記憶體中的位元模式(如 char ch = 'a' 的二進位表示),可取得位址並轉型為 unsigned char* 逐位元檢視:
char ch = 'a';
unsigned char *p = (unsigned char*)&ch;
for (int i = 0; i < sizeof(ch); ++i) {
// 輸出 p[i] 的二進位
}注意:int i = ch 會進行整數提升,非直接記憶體讀取。
char 在大多數系統預設為 ASCII/ANSI 碼,直接對應字元編碼值。wchar_t 通常為 UTF-16 或 UTF-32,視平台而定。可用 std::wstring_convert 或 ICU 庫轉換為 UTF-8。Linux x64 範例參考最佳回答程式碼。