|
|
|
|
|
|
z***e 发帖数: 5393 | 1 【 以下文字转载自 Seattle 讨论区 】
发信人: zlike (最终幻想), 信区: Seattle
标 题: 顺便问一个CreateFile问题
发信站: BBS 未名空间站 (Sat Jun 7 04:04:00 2008)
Visual Studio里面缺省是Unicode.
随便const TCHAR *s=_TEXT("asdfsdfsdfsddfsdfsddfdsfsdf");
然后CreateFile(),WriteFile(....)....
那个出来的text文件始终是Unicode的,如果改project configuration,改成unset的话
就是ANSI,问题是我要UTF-8的,怎么生成啊?
之所以要UTF-8,是因为生成的是一个xml,然后另外一个C#的程序去读,如果unicode
的话那个C#里面的那个XMLxxxx就要发神经报错,ANSI就没问题。 | X****r 发帖数: 3557 | 2 这个和CreateFile没什么关系,你要在UTF-16和UTF-8之间进行转换的话用
wcstombs/mbstowcs这些函数。
见 http://msdn.microsoft.com/en-us/library/6y9se58z(VS.71).aspx
另外,你如果用printf/wprintf系列函数写文件的话,可以用%S而不是通常的%s来表明
你传进去的字符串是另一种encoding。
见 http://msdn.microsoft.com/en-us/library/hf4y5e3w.aspx
顺便说一下,Unicode是指Character Set,UTF-16和UTF-8都是Unicode的一种encoding。
只是在VS里经常就把UTF-16称作Unicode。
unicode
【在 z***e 的大作中提到】 : 【 以下文字转载自 Seattle 讨论区 】 : 发信人: zlike (最终幻想), 信区: Seattle : 标 题: 顺便问一个CreateFile问题 : 发信站: BBS 未名空间站 (Sat Jun 7 04:04:00 2008) : Visual Studio里面缺省是Unicode. : 随便const TCHAR *s=_TEXT("asdfsdfsdfsddfsdfsddfdsfsdf"); : 然后CreateFile(),WriteFile(....).... : 那个出来的text文件始终是Unicode的,如果改project configuration,改成unset的话 : 就是ANSI,问题是我要UTF-8的,怎么生成啊? : 之所以要UTF-8,是因为生成的是一个xml,然后另外一个C#的程序去读,如果unicode
| z***e 发帖数: 5393 | 3 我去try try, thanks.
encoding。
【在 X****r 的大作中提到】 : 这个和CreateFile没什么关系,你要在UTF-16和UTF-8之间进行转换的话用 : wcstombs/mbstowcs这些函数。 : 见 http://msdn.microsoft.com/en-us/library/6y9se58z(VS.71).aspx : 另外,你如果用printf/wprintf系列函数写文件的话,可以用%S而不是通常的%s来表明 : 你传进去的字符串是另一种encoding。 : 见 http://msdn.microsoft.com/en-us/library/hf4y5e3w.aspx : 顺便说一下,Unicode是指Character Set,UTF-16和UTF-8都是Unicode的一种encoding。 : 只是在VS里经常就把UTF-16称作Unicode。 : : unicode
| a****l 发帖数: 8211 | 4 use CreateFileA
Actually, CreateFile is mapped to CreateFileA or CreateFileW depending on
settng.
unicode
【在 z***e 的大作中提到】 : 我去try try, thanks. : : encoding。
|
|
|
|
|
|
|