在C#中怎样将Unicode的字符编码转换成gb2312字符编码啊 因为char类型是Unicode编码的,怎样搞返回也是Unicode编码啊... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己顶下,没人知道吗?其实我自己会将Unicode字符转成gb2312字符,但是不知道转了以后用什么类型装着那个字符,如果用char类型,又变回Unicode了,所以请高手指点一二 System.Text.Encoding.GetEncoding("GB2312").GetBytes(System.Text.Encoding.GetEncoding("GB2312").GetString( public string ConvertEncdoing(string source){ Encoding gb2312 = Encoding.GetEncoding("gb2312"); return gb2312.GetString(Encoding.Convert(Encoding.Unicode, gb2312, Encoding.Unicode.GetBytes(source)));} //str为需要转换的字符串byte[] bytes = System.Text.Encoding.GetEncoding("Unicode").GetBytes(str);str = System.Text.Encoding.GetEncoding("gb2312").GetString(bytes); string s="你";char[] values=s.ToCharArray();(int)values[0] 这个是返回Unicode的编码我要gb2312的... System.Text.Encoding.GetEncoding("GB2312") Encoding ec = System.Text.Encoding.GetEncoding("GB2312");byte[] bc = ec.GetBytes("汉字"); string s = "购房款多数据流飞"; byte[] buf = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s); Text = BitConverter.ToString(buf); 然后怎样转成int类型啊?我要一个int类型的gb2312编码,这是我最终目的 你自己说要输出编码的嘛怎么又要变int型了你要int就给你int,不过看来用int表示一点用都没有 string s = "购房款多数据流飞"; byte[] buf = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s); int[] ret = new int[buf.Length / 4]; for (int i = 0; i < buf.Length; i += 4) { ret[i / 4] = BitConverter.ToInt32(buf, i); } return ret; 我估计你要的是这种效果吧 string s = "购房款多数据流飞aa"; byte[] buf = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s); StringBuilder sb = new StringBuilder(); int index = 0; for (int i = 0; i < buf.Length; i++) { sb.Append(s[index]); sb.Append(':'); if (char.GetUnicodeCategory(s, index++) == UnicodeCategory.OtherLetter) sb.Append(BitConverter.ToUInt16(buf, i++)); else sb.Append(buf[i]); sb.Append(','); } sb.Remove(sb.Length - 1, 1); Text = sb.ToString(); 怎么将unicode转换到gb2312啊, 我是新手,请教下 求QQ登陆网页的原理 【第一次发帖求助】想获取本机的外网地址,来实现tcp打洞 C#编写的报表 gridControl怎样隐藏某一列 编辑器的查找替换,正则表达式 怎样写入内容到文件的指定行? 做了一个点对点传输信息的小程序,用TcpClient,可是传到对方那信息老变成乱码。 一个让人非常头疼的问题,请高手来给解答一下 关于 C#删除之后的问题 C#写的守护服务怎么以管理员身份运行,并允许用户交互?(急!) DataGridView中的DataGridViewComboBoxColumn列如何让其可编辑也可下拉选择。 太平洋信息系统工程(西安)有限公司笔试题 。netc#
其实我自己会将Unicode字符转成gb2312字符,但是不知道转了以后用什么类型装着那个字符,
如果用char类型,又变回Unicode了,
所以请高手指点一二
System.Text.Encoding.GetEncoding("GB2312").GetString(
public string ConvertEncdoing(string source)
{
Encoding gb2312 = Encoding.GetEncoding("gb2312");
return gb2312.GetString(Encoding.Convert(Encoding.Unicode, gb2312, Encoding.Unicode.GetBytes(source)));
}
byte[] bytes = System.Text.Encoding.GetEncoding("Unicode").GetBytes(str);
str = System.Text.Encoding.GetEncoding("gb2312").GetString(bytes);
char[] values=s.ToCharArray();
(int)values[0]
我要gb2312的...
byte[] bc = ec.GetBytes("汉字");
byte[] buf = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s);
Text = BitConverter.ToString(buf);
我要一个int类型的gb2312编码,这是我最终目的
怎么又要变int型了
你要int就给你int,不过看来用int表示一点用都没有
string s = "购房款多数据流飞";
byte[] buf = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s);
int[] ret = new int[buf.Length / 4];
for (int i = 0; i < buf.Length; i += 4)
{
ret[i / 4] = BitConverter.ToInt32(buf, i);
}
return ret;
string s = "购房款多数据流飞aa";
byte[] buf = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s);
StringBuilder sb = new StringBuilder();
int index = 0;
for (int i = 0; i < buf.Length; i++)
{
sb.Append(s[index]);
sb.Append(':');
if (char.GetUnicodeCategory(s, index++) == UnicodeCategory.OtherLetter)
sb.Append(BitConverter.ToUInt16(buf, i++));
else
sb.Append(buf[i]);
sb.Append(',');
}
sb.Remove(sb.Length - 1, 1);
Text = sb.ToString();