但是在.Net框架中,内部的字符串表示都是采用Unicode表示,这在字符串截取,计算长度等方面带来了一系列问题,本文提供了一个GB2312String类,用来解决此类问题。
在VS2005下编译成功。本例仅作抛砖引玉。
调用代码
输出结果
/*
0123456789
gbstr="你是A我是B"
s2="我是B"
----------------------------------------
gbstr.Substring(2,3) :是A
gbstr.Substring(5) :我是B
gbstr.IndexOf("我") :5
gbstr.IndexOf(s2) :5
s2.IndexOf(gbstr) :-1
gbstr.LastIndexOf("我是") :5
gbstr.Insert(4,"C")) :你是CA我是B
gbstr.Remove(2,3) :你我是B
gbstr.Split(new char[]{'A'})[1] :我是B
gbstr=="你是A"+"我是B" :True
gbstr.Equals("你是A我是B") :True
*/
0123456789
gbstr="你是A我是B"
s2="我是B"
----------------------------------------
gbstr.Substring(2,3) :是A
gbstr.Substring(5) :我是B
gbstr.IndexOf("我") :5
gbstr.IndexOf(s2) :5
s2.IndexOf(gbstr) :-1
gbstr.LastIndexOf("我是") :5
gbstr.Insert(4,"C")) :你是CA我是B
gbstr.Remove(2,3) :你我是B
gbstr.Split(new char[]{'A'})[1] :我是B
gbstr=="你是A"+"我是B" :True
gbstr.Equals("你是A我是B") :True
*/
完整的类实现