1
ysc3839 2018-03-19 12:29:57 +08:00
UTF-8 可以直接转 UTF-16 的,不需要调用系统 API。
|
2
ysc3839 2018-03-19 12:48:47 +08:00
另外经过测试并没有你说的问题。
代码: ``` #include <Windows.h> #include <stdio.h> int main() { const char* szUTF8 = u8"! ‘ ’ ! “ ” [ ] = - 0、 。 , ; : …… · "; int len = MultiByteToWideChar(CP_UTF8, 0, szUTF8, -1, NULL, 0); wchar_t *buf = (wchar_t *)malloc(len); MultiByteToWideChar(CP_UTF8, 0, szUTF8, -1, buf, len); FILE *f = fopen("UTF-16.txt", "wb"); fwrite(buf, len, 1, f); fclose(f); free(buf); return 0; } ``` |