作者tsaiminghan (nahgnimiast)
看板C_and_CPP
标题[问题] C++读写utf-16
时间Fri Mar 27 22:45:16 2009
环境 vs2005
我知道win32 api可以正常运作,我想问的是
一般c++如何处理unicode的档案,
我试了使用iwfstream/owfstream,发现
这两个读写时,读进来的资料是以1byte大小作单位,
也就是说如果是2bytes的utf16,读进来的资料都需要
2个单位的阵列元素来储存,造成读进来的资料没办法
很简单的作字串的比较(ex 使用wcscmp, strcmp),请
问一般C++的作法是?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.168.72.157
1F:推 chrisdar:C++的作法吗? 没有 03/27 23:05
2F:→ chrisdar: 好像太武断了 找Boost看看有没有机会 03/27 23:06
3F:→ tsaiminghan:没有!c++只能作binary的比对吗? 03/28 01:03
4F:→ tsaiminghan:如果没有的话,我只想到用mem的比对而已… 03/28 01:08
5F:→ james732:我记得微软不是有提供一堆怪怪的type跟function吗? 03/28 01:51
6F:→ tsaiminghan:api的话,我知道用readfile可以读进utf16 03/28 02:07
7F:→ tsaiminghan:处理上也没问题,只是没有getline的功能 03/28 02:08
8F:→ tsaiminghan:而c++有好用的getline,所以问问有没有处理utf16的方 03/28 02:10
9F:→ tsaiminghan:法. 03/28 02:10
10F:→ tsaiminghan:不过没想到c++会没有处理utf16的功能,真让我意外 03/28 02:12
12F:→ yoco315:然後查一下你用的 std library 有没有支援 utf16 facet 03/28 02:43
13F:→ yoco315:如果没有,去找看看哪边能下载到你需要的 facet class 03/28 02:44
14F:→ tsaiminghan:谢谢 03/28 02:58