汉字如何取得ASCII码

EverySoft 2005-02-02 08:52:10
我让得汉字的ASCII码应是负数,但是我按照int a='货'取得的值为正数,我用的是C#,我用其它语言取的ASCII码也和它不同。我知道我取得的一定是错的,我想知道如何正确的取得。希望各位能帮我,我将万分感谢!!!
...全文
302 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
EverySoft 2005-02-16
  • 打赏
  • 举报
回复
我的问题解决了,那确实是16位的,得分着取。谢谢各位了!
Ivony 2005-02-03
  • 打赏
  • 举报
回复
ASCII码能表示汉字吗? ASCII码只有8位

两个ASCII制表符代表一个汉字。
ylh1223 2005-02-03
  • 打赏
  • 举报
回复
ASCII码能表示汉字吗? ASCII码只有8位
earlsen 2005-02-03
  • 打赏
  • 举报
回复
看看:
//获得汉字的区位码
byte[] array = new byte[2];
array = System.Text.Encoding.Default.GetBytes("啊");

int i1 = (short)(array[0] - '\0');
int i2 = (short)(array[1] - '\0');

//unicode解码方式下的汉字码
array = System.Text.Encoding.Unicode.GetBytes("啊");
i1 = (short)(array[0] - '\0');
i2 = (short)(array[1] - '\0');

//unicode反解码为汉字
string str = "4a55";
string s1 = str.Substring(0,2);
string s2 = str.Substring(2,2);

int t1 = Convert.ToInt32(s1,16);
int t2 = Convert.ToInt32(s2,16);

array[0] = (byte)t1;
array[1] = (byte)t2;

string s = System.Text.Encoding.Unicode.GetString(array);

//default方式反解码为汉字
array[0] = (byte)196;
array[1] = (byte)207;
s = System.Text.Encoding.Default.GetString(array);
zyaln 2005-02-03
  • 打赏
  • 举报
回复
顺便问一下:ASCII码能表示汉字吗,请高手指点!
EverySoft 2005-02-03
  • 打赏
  • 举报
回复
转换成16位的确定是负数,但是那个数好像不大对吧。
心情解码 2005-02-02
  • 打赏
  • 举报
回复
:)


--
yufenfeila 2005-02-02
  • 打赏
  • 举报
回复
int a = '货';
Int16 a1 = (Int16)a;
textBox1.Text = a1.ToString();

想要负值的话转成Int16型就好了,因为现在的int型已经是32位了
wj2929 2005-02-02
  • 打赏
  • 举报
回复
参考一下下面的

http://search.csdn.net/Expert/topic/2250/2250807.xml?temp=.6766321

里面思归老大也是跟你相似的方式取的

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧