Remember that the original C++ was defined before Unicode programming became a request.
The char type is always a byte size so a 12 letter long string will take up 12 bytes...
If you want to use Unicode you have to use wchar_t type and the corresponding functions like wcslen()...
But of course wcslen(0 returns the length in the units of the type so if you want to know the byte size you have to multiply it with sizeof(wchar_t)...
wchar_t* str = L"hello world";
cout << wcslen(str) << endl; cout << wcslen(str) * sizeof(wchar_t) << endl;