Abiword中字符操作

系统 1461 0

Abiword中字符操作

一、关于不同字符的宏定义

typedef gunichar        UT_UCS4Char;
typedef guint16      UT_UCS2Char;
typedef UT_UCS4Char  UT_UCSChar; /* Unicode */

 

typedef guint32 gunichar;
typedef guint16 gunichar2;

 

AbiWord is now fully converted to using 32-bit Unicode internally

在Abiword内部完全转换成32-bit Unicode 表示。

二、针对UT_UCS*Char 的常用函数,参考:af\util\xp\ut_string.cpp

UT_UCS4_strcmp 比较两个字符串

UT_UCS4_strlen   取字符串的长度

UT_UCS4_strcpy  复制字符串

UT_UCS4_strcpy_char       从char到UT_UCS4Char的复制

UT_UCS4_strcpy_to_char  从UT_UCS4Char到char的复制

对UT_UCS2Char有对应的操作

三、编码转换

AP_Win32App::s_fromWinLocaleToUTF8,将本地编码转换成UTF-8

AP_Win32App::s_fromUTF8ToWinLocale,将UTF-8转换成本地编码

AP_Win32App::s_fromUCS4ToWinLocale

AP_Win32App::s_fromWinLocaleToUCS4

四、Abiword对字符类型的封装

1、UT_String,UT_String, a simple wrapper for zero terminated 'char' strings.对char类型的封装。

////////////////////////////////////////////////////////////////////////
//  8-bit string
//  String is built of 8-bit units (bytes)
//  Encoding could be any single-byte or multi-byte encoding
////////////////////////////////////////////////////////////////////////

2、UT_UTF8String,UT_UTF8String, a simple wrapper for zero terminated 'UTF-8' strings.UTF-8编码的字符封装

////////////////////////////////////////////////////////////////////////
//  UTF-8 string: encoding is *always* UTF-8
////////////////////////////////////////////////////////////////////////

3、UT_UCS4String,UT_UCS4String, a simple wrapper for zero terminated 'UCS4' strings.USC4字符的封装

 

 ////////////////////////////////////////////////////////////////////////
//  UCS-4 string
//  String is built of 32-bit units (longs)
//  NOTE: Ambiguity between UCS-2 and UTF-16 above makes no difference
//  NOTE:  in the case of UCS-4 and UTF-32 since they really are
//  NOTE:  identical
////////////////////////////////////////////////////////////////////////

 

 四、MSDN  Generic-Text Mappings

       MSDN中"Generic-Text Routine Mappings."标题下有完整的宏列表。

Abiword中字符操作


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论