C#汉字与ASCII码互换(急)

dandyfang8888 2011-11-11 11:21:26
请教,怎样在C#(C/S结构)程式中实现汉转ASCII码,再把ASCII转成对应的汉字。谢谢
...全文
284 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
帮帮你我她 2011-11-15
  • 打赏
  • 举报
回复
统一转换成字节数组发送和接收,接收时做特殊判定,用缓存的办法,防止接到半个汉字
vrhero 2011-11-14
  • 打赏
  • 举报
回复
汉字不可能用ASCII编码,必须采用双字节ANSI码或Unicode码...这是基础知识...

ps:任何计算机数据都是2进制,除了人眼外不存在16进制或10进制...这也是基础知识...
aaa19911126 2011-11-14
  • 打赏
  • 举报
回复
汉字编码表,不知道对楼主有没有帮助
dandyfang8888 2011-11-13
  • 打赏
  • 举报
回复
string str = "你好";
byte[] bytes = Encoding.Unicode.GetBytes(str);
string[] strArr = new string[bytes.Length];
Console.WriteLine("16进制显示'你好':");
for (i = 0; i < bytes.Length; i++)
{
strArr[i] = bytes[i].ToString("x");
Console.Write(strArr[i]+" ");
}
Console.WriteLine();

Console.WriteLine("从16进制转换回汉字:");
for (i = 0; i < strArr.Length; i++)
{
bytes[i] = byte.Parse(strArr[i], System.Globalization.NumberStyles.HexNumber);
}

string ret = Encoding.Unicode.GetString(bytes);
Console.WriteLine(ret);
绿领巾童鞋 2011-11-11
  • 打赏
  • 举报
回复
Encoding.UTF8.GetString
机器人 2011-11-11
  • 打赏
  • 举报
回复
ASCII 码不支持中文,UrlEncode 还可以。
sdl2005lyx 2011-11-11
  • 打赏
  • 举报
回复
看看这个:

string和byte[]的转换



baihualin1983 2011-11-11
  • 打赏
  • 举报
回复
ASCII码是没有汉字的,为什么一定要转,可以说下需求看看有没有别的解决方式。
baihualin1983 2011-11-11
  • 打赏
  • 举报
回复
那就将汉字直接转换为16进制的写入IC卡不就可以了,也不需要转换为ASCII啊
dandyfang8888 2011-11-11
  • 打赏
  • 举报
回复
这是Dephi代码
//汉字 -> UniCode
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:= GetAscii(edit2.Text);
end;

function TForm1.GetAscii(const S: string): string;
var
I: Integer;
begin
for I := 1 to Length(S) do
Result := Result + IntTohex(Ord(S[I]),2);
end;



//UniCode -> 汉字
function TForm1.Getchr(AiUniCode : string) : String;
Var
ch, cl : String[3];
s ,s1,s2: String;
i:integer;
Begin
s2:=AiUniCode;
s1:='';
for i:=1 to length(s2) div 4 do
begin
ch :=Copy(s2, i*4-3, 2);
cl :=Copy(s2, i*4-1, 2);
s := Chr(StrToInt('$'+ch)) + Chr(StrToInt('$'+cl));
s1:=s1+s;
end;
Result := s1;
end;
dandyfang8888 2011-11-11
  • 打赏
  • 举报
回复
需求是:要把我司的车牌号写入IC卡存储区中,每次司机出车或回来时,刷一次卡,从IC卡存储区中读取(但IC卡只支持16进制数写入,所有我想转成ASCII,但在VB6中可以转化的)。我给老板建议用ID号邦车牌号,他不同意,什么不方便管理

110,570

社区成员

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

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

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