字符串:ESPRINET IBÉRICA S.L.U.在SQL Server2008里面计算长度是23个字符,select LEN('ESPRINET IBÉRICA S.L.U.')在C#里面计算也是23个字符:
int len = System.Text.Encoding.Default.GetByteCount("ESPRINET IBÉRICA S.L.U.");VB中亦是如此,23:
Len(Trim(("ESPRINET IBÉRICA S.L.U.")但是实际上是24个字符,因为欧文É要占到两位,在Notepad++和Ultraedit都显示的是24个字符。
请教高人如何在C#和VB中计算到正确的字符数24个。
int len = System.Text.Encoding.Default.GetByteCount("ESPRINET IBÉRICA S.L.U.");VB中亦是如此,23:
Len(Trim(("ESPRINET IBÉRICA S.L.U.")但是实际上是24个字符,因为欧文É要占到两位,在Notepad++和Ultraedit都显示的是24个字符。
请教高人如何在C#和VB中计算到正确的字符数24个。
例如
string xx =Server.UrlEncode( usname);
再计算程度
解 Server.UrlDecode
try{FileStream aFile = new FileStream("../../Program.cs",FileMode.Open);aFile.Seek(135,SeekOrigin.Begin);aFile.Read(byData,0,200);}catch(IOException e){Console.WriteLine("An IO exception has been thrown!");Console.WriteLine(e.ToString());Console.ReadKey();return;}
Decoder d = Encoding.UTF8.GetDecoder();d.GetChars(byData, 0, byData.Length, charData, 0);
Console.WriteLine(charData);Console.ReadKey();}
Console.WriteLine(System.Text.Encoding.UTF8.GetByteCount("ESPRINET IBÉRICA S.L.U."));楼主的计算机环境可能默认字符集是别的吧
int len = System.Text.Encoding.Default.GetByteCount("ESPRINET IBÉRICA S.L.U.");在我这里也是24
Dim bytes2 As Byte() = System.Text.Encoding.Convert(System.Text.Encoding.Default, System.Text.Encoding.UTF8, bytes)
'bytes2.Length就是长度()
Dim result As String = System.Text.Encoding.UTF8.GetString(bytes2)
'result就是转换后的()
Dim bytes2 As Byte() = System.Text.Encoding.Convert(System.Text.Encoding.Default, System.Text.Encoding.UTF8, bytes)
'bytes2.Length就是长度()
Dim result As String = System.Text.Encoding.UTF8.GetString(bytes2)
'result就是转换后的()