不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
C# short,int,long转byte[]
编辑:dnawo 日期:2010-01-12
在做字符串保存为文本时,经常有要求使用n(2,4,8)个字节来保存一个字符,如下边例子:
若想知道C#将每个字符转成的字节内容,这就需要将short,int,long转成byte[],使用BitConverter.GetBytes方法可以完成这种转换,代码如下:
复制内容到剪贴板
程序代码

string content = "木子屋(http://www.mzwu.com/)";
//2字节存储
using (FileStream fs = File.Create(@"c:\test.txt"))
{
using (BinaryWriter writer = new BinaryWriter(fs))
{
for (int i = 0; i < content.Length; i++)
writer.Write((short)content[i]);
}
}
//4字节存储
using (FileStream fs = File.Create(@"c:\test2.txt"))
{
using (BinaryWriter writer = new BinaryWriter(fs))
{
for (int i = 0; i < content.Length; i++)
writer.Write((int)content[i]);
}
}
//8字节存储
using (FileStream fs = File.Create(@"c:\test3.txt"))
{
using (BinaryWriter writer = new BinaryWriter(fs))
{
for (int i = 0; i < content.Length; i++)
writer.Write((long)content[i]);
}
}
//2字节存储
using (FileStream fs = File.Create(@"c:\test.txt"))
{
using (BinaryWriter writer = new BinaryWriter(fs))
{
for (int i = 0; i < content.Length; i++)
writer.Write((short)content[i]);
}
}
//4字节存储
using (FileStream fs = File.Create(@"c:\test2.txt"))
{
using (BinaryWriter writer = new BinaryWriter(fs))
{
for (int i = 0; i < content.Length; i++)
writer.Write((int)content[i]);
}
}
//8字节存储
using (FileStream fs = File.Create(@"c:\test3.txt"))
{
using (BinaryWriter writer = new BinaryWriter(fs))
{
for (int i = 0; i < content.Length; i++)
writer.Write((long)content[i]);
}
}
若想知道C#将每个字符转成的字节内容,这就需要将short,int,long转成byte[],使用BitConverter.GetBytes方法可以完成这种转换,代码如下:
复制内容到剪贴板
程序代码

byte[] b;
//2字节,0x28 0x67
b = BitConverter.GetBytes((short)'木');
for (int i = 0; i < b.Length; i++)
Console.Write(b[i] + " ");
Console.WriteLine(BitConverter.ToChar(b, 0));
//4字节,0x28 0x67 0 0
b = BitConverter.GetBytes((int)'木');
for (int i = 0; i < b.Length; i++)
Console.Write(b[i] + " ");
Console.WriteLine(BitConverter.ToChar(b, 0));//注意,ToChar只取2个字节进行转换
//8字节,0x28 0x67 0 0 0 0 0 0
b = BitConverter.GetBytes((long)'木');
for (int i = 0; i < b.Length; i++)
Console.Write(b[i] + " ");
Console.WriteLine(BitConverter.ToChar(b, 0));
//2字节,0x28 0x67
b = BitConverter.GetBytes((short)'木');
for (int i = 0; i < b.Length; i++)
Console.Write(b[i] + " ");
Console.WriteLine(BitConverter.ToChar(b, 0));
//4字节,0x28 0x67 0 0
b = BitConverter.GetBytes((int)'木');
for (int i = 0; i < b.Length; i++)
Console.Write(b[i] + " ");
Console.WriteLine(BitConverter.ToChar(b, 0));//注意,ToChar只取2个字节进行转换
//8字节,0x28 0x67 0 0 0 0 0 0
b = BitConverter.GetBytes((long)'木');
for (int i = 0; i < b.Length; i++)
Console.Write(b[i] + " ");
Console.WriteLine(BitConverter.ToChar(b, 0));






评论: 0 | 引用: 0 | 查看次数: 18573
发表评论
请登录后再发表评论!