一般以為 char 皆為 1 位元組,實測發現 C# 與 C++ 差異極大。
using System;
namespace ConsoleApplication1 {
class Program {
static void Main(string[] args) {
Console.WriteLine(sizeof(char)); // 輸出 2
Console.Read();
}
}
}

C# char 回傳 2,即 2 位元組。
#include <iostream>
using namespace std;
int main() {
cout << sizeof(char) << endl; // 輸出 1
return 0;
}

C++ char 僅 1 位元組。下篇將探討 C++ wchar_t 及 Unicode 支援。