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

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

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

------解决方案--------------------
除了查表,还有什么办法

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

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

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