Tag: ligature

为什么wprintf将Unicode连字分成两个不同的字形?

码: #include #include #define USE_W int main() { #ifdef USE_W const wchar_t *ae_utf16 = L”\x00E6 & ASCII text ae\n”; wprintf(ae_utf16); #else const char *ae_utf8 = “\xC3\xA6 & ASCII text ae\n”; printf(ae_utf8); #endif return 0; } 输出: ae和ASCII文本ae 而printf产生正确的UTF-8输出: æ&ASCII文本ae 你可以在这里测试一下 。