首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

半角字符和全角字符转换算法的实现?解决办法

2012-03-05 
半角字符和全角字符转换算法的实现?一个字符串中,既有全角字符也有半角字符,如果高效地把其中的半角转全角

半角字符和全角字符转换算法的实现?
一个字符串中,既有全角字符也有半角字符,如果高效地把其中的半角转全角,或者全角转半角。

字符串的编码格式假设为GB2312。

[解决办法]
除了查表,还有什么办法

[解决办法]
首先,半角字符是从0-127,如果是大于127的,是全角字符的前面半个字符.
首先,需要开辟一块内存,长度是现在长度的2倍.

然后从原始字符中读取一个字节,判断是0-127还是大于127.
0-127, 从映射表得到对应的全角字符,然后写到目标字符串.
128-255,拷贝当前字节和下一个直接到目标字符串,并偏移2个字符.

O(n)的算法,很快的.

热点排行