半角字符和全角字符转换算法的实现?解决办法
半角字符和全角字符转换算法的实现?
一个字符串中,既有全角字符也有半角字符,如果高效地把其中的半角转全角,或者全角转半角。
字符串的编码格式假设为GB2312。
------解决方案--------------------
除了查表,还有什么办法
------解决方案--------------------
首先,半角字符是从0-127,如果是大于127的,是全角字符的前面半个字符.
首先,需要开辟一块内存,长度是现在长度的2倍.
然后从原始字符中读取一个字节,判断是0-127还是大于127.
0-127, 从映射表得到对应的全角字符,然后写到目标字符串.
128-255,拷贝当前字节和下一个直接到目标字符串,并偏移2个字符.
O(n)的算法,很快的.
一个字符串中,既有全角字符也有半角字符,如果高效地把其中的半角转全角,或者全角转半角。
字符串的编码格式假设为GB2312。
------解决方案--------------------
除了查表,还有什么办法
------解决方案--------------------
首先,半角字符是从0-127,如果是大于127的,是全角字符的前面半个字符.
首先,需要开辟一块内存,长度是现在长度的2倍.
然后从原始字符中读取一个字节,判断是0-127还是大于127.
0-127, 从映射表得到对应的全角字符,然后写到目标字符串.
128-255,拷贝当前字节和下一个直接到目标字符串,并偏移2个字符.
O(n)的算法,很快的.