怎样才可以在byte[]和char[]之间进行转型?

dybcb 2003-10-21 09:30:30
如题
...全文
41 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
storm97 2003-10-21
  • 打赏
  • 举报
回复
[C#]
using System;
using System.Text;

namespace ConvertExample
{
class ConvertExampleClass
{
static void Main()
{
string unicodeString = "This string contains the unicode character Pi(\u03a0)";

// Create two different encodings.
Encoding ascii = Encoding.ASCII;
Encoding unicode = Encoding.Unicode;

// Convert the string into a byte[].
byte[] unicodeBytes = unicode.GetBytes(unicodeString);

// Perform the conversion from one encoding to the other.
byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);

// Convert the new byte[] into a char[] and then into a string.
// This is a slightly different approach to converting to illustrate
// the use of GetCharCount/GetChars.
char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
string asciiString = new string(asciiChars);

// Display the strings created before and after the conversion.
Console.WriteLine("Original string: {0}", unicodeString);
Console.WriteLine("Ascii converted string: {0}", asciiString);
}
}
}
saucer 2003-10-21
  • 打赏
  • 举报
回复
byte[]==>char[]

byte[] bs;
char[] cs = System.Text.Encoding.Default.GetString(bs).ToCharArray();

char[] ==> byte[]

char[] cs;
byte[] bs = System.Text.Encoding.Default.GetBytes(cs);
xupc 2003-10-21
  • 打赏
  • 举报
回复
用下面的两个方法:
Convert.ToByte(char c)
Convert.ToChar(byte b)

char[] c=new char[]{'a','b',......};
byte[] b=new byte[c.Length];
for(int i=0;i<c.Length;i++)
b[i]=Convert.ToByte(c[i]);

110,502

社区成员

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

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

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