给个地址,可能有帮助
http://users.erols.com/eepeter/chinesecomputing/wwwboard.htmlsearch ucs2 in it
http://users.erols.com/eepeter/chinesecomputing/wwwboard.htmlsearch ucs2 in it
解决方案 »
- listview中Button的问题
- 水晶报表动态绑定公式字段
- C# 程序若连接Oracle ,必须要安装客户端吗??????????
- 请问!!!
- MDI窗口怪异问题,进来拿分啊!!!!!!!!!!!!!!!!!急,在线等!!!!!!!!!!!
- 请教C#高手
- 大家好!好久没来提问了,又得来麻烦大家,关于怎么在工程里添加已注册好的全局程序集的问题!很奇怪
- 请问:Remoting中,订阅事件的时候为啥要出System.Reflection.TargetInvocationException 附代码
- 关于DataGrid的问题,使用过DataGrid的朋友进来看看!
- Environment.SpecialFolder.MyComputer问题
- 用c#读取文件内容中文是乱码?
- 我表中一个字段为sign,我想让sign=1时在DataGrid中显示为“已执行”sign=0时显示为“未执行”
http://www.unicode.org/
http://www.unicode.org
UCS-2: 31 117 229 101 235 95 80 78
GB: 201 250 200 213 191 236 192 214
很明显,手机的UCS2编码字符串跟WINDOW的正好高低位调转了。
for i:=0 to iLen do
Wide_Char[i]:=WideChar(Buffer[i*2]*256+Buffer[2*i+1]);
Wide_String:=Wide_Char;
//Ucs2->Gb2312
Ansi_String:=Wide_String;
但还是得不到gb呀
byte[] b={117,31,101,229,95,235,78,80};
string msg=Encoding.Default.GetString(a);
Console.WriteLine(msg);
msg=Encoding.Default.GetString(b);
Console.WriteLine(msg);
结果:
u錯隷PN
ue錩隢P
Dim S As String
S = Encoding.Unicode.GetString(bContent)
Response.Write(S)结果:生日快乐
/// 从ucs2转换到gb2312
/// </summary>
/// <param name="ucs2">ucs2编码数据</param>
/// <param name="gb2312">gb2312数据</param>
/// <returns></returns>
public static int UCS2ToGB2312(ref byte[] ucs2,int len)
{
int res=0;
byte tmp;
try
{
if(len%2==0 && len<=ucs2.Length)
{
int i=0;
while(i<len-1)
{
tmp=ucs2[i];
ucs2[i]=ucs2[i+1];
ucs2[i+1]=tmp;
i=i+2;
}
}
else
{
res=0;
}
}
catch(Exception e)
{
res=-1;
throw(e);
}
return(res);
}接下来用:
msg=System.Text.Encoding.Unicode.GetString(ucs2);总算结了,经验如下:
编程不能一个颈的往里想,其实有时就应该休息一下,等到头脑清醒后,再开始想!这样的效果往往要好得多!这也许就是为什么要休息的原因吧!