一个char转byte的问题,答对了马上给分。

cwkok 2004-09-21 05:13:05
在c#中一个 char='京';怎么将它劈开分给byte1 byte2两个byte类型的数呢?
请问在C#中怎样将一个十进制的数转换为16进制的数,然后给一个string, 最后显示出来呢?
...全文
110 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cwkok 2004-09-22
  • 打赏
  • 举报
回复
谢谢,搞定,结贴。
losthold 2004-09-21
  • 打赏
  • 举报
回复
字符到字节的转换:
using System.Text;

byte[] bytes;
char achar = '京';
bytes=Encoding.GetEncoding("GB2312").GetBytes(achar.ToString());

16进制字节字符串的输出要自己写函数:
private static char[] hexDigits = {
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

public static string ToHexString(byte[] bytes)
{
char[] chars = new char[bytes.Length * 2];
for (int i = 0; i < bytes.Length; i++)
{
int b = bytes[i];
chars[i * 2] = hexDigits[b >> 4];
chars[i * 2 + 1] = hexDigits[b & 0xF];
}
return new string(chars);
}
自由之眼 2004-09-21
  • 打赏
  • 举报
回复
1.你可以试试,我就是这样写的没有问题
using System.Text;

System.Byte[] btaaa;
btaaa = System.Text.Encoding.Default.GetBytes("京");

2.自己写一个函数就行了吧.建议你先去Convert类里面去找找,可能有现成的
如果没有
自己写一个,算法如下,你改一下就行(这是我在数据库中做的函数,来处理十进制转16进制的方法)
WHILE @num>0
BEGIN
SET @sResult=SUBSTRING('0123456789ABCDEF',@num%16+1,1) + @sResult
SET @num = @num/16
END

110,538

社区成员

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

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

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