C#中有关string和byte[]转换的问题

byte[] byteArray = System.Text.Encoding.Default.GetBytes(  str  );
  怎么样,够简单吧?

  反过来也是一样,把byte[]转成string:

string str = System.Text.Encoding.Default.GetString( byteArray );
  其实,在System.Text.Encoding class中,还有很多其它有用的方法,像GetChars,从一个byte[]转成一个char[],等等,可以参考MSDN。

  另外,还有其它编码方式的,如System.Text.UTF8Encoding class、System.Text.UnicodeEncoding class等,根据不同需要可选不同的class。
时间: 2024-10-10 14:26:28

C#中有关string和byte[]转换的问题的相关文章

string、byte[]转换

string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str ); byte[]转string: string str = System.Text.Encoding.Default.GetString ( byteArray ); string转ASCII byte[]: byte[] byteArray = System.Text.Encoding.ASCII.GetBytes ( str ); AS

转:Java中String与byte[]的转换

fuzhaoyang 转:Java中String与byte[]的转换 原文地址:http://blog.csdn.net/llwan/article/details/7567906 String s = "fs123fdsa";//String变量 byte b[] = s.getBytes();//String转换为byte[] String t = new String(b);//bytep[]转换为String 做JAVA经常会碰到中文乱码问题,还有各种编码的问题,特别是Stri

C# 中字符串string和字节数组byte[]的转换

string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str ); byte[]转string: string str = System.Text.Encoding.Default.GetString ( byteArray ); string转ASCII byte[]: byte[] byteArray = System.Text.Encoding.ASCII.GetBytes ( str ); AS

java中byte转换int时为何与0xff进行与运算

在剖析该问题前请看如下代码 public static String bytes2HexString(byte[] b) {  String ret = "";  for (int i = 0; i < b.length; i++) {   String hex = Integer.toHexString(b[i] & 0xFF);   if (hex.length() == 1) {    hex = ''0'' + hex;   }   ret += hex.toUp

Delphi Byte数组与String类型的转换

string string = AnsiString = 长字符串,理论上长度不受限制,但其实受限于最大寻址范围2的32次方=4G字节: 变量Str名字是一个指针,指向位于堆内存的字符序列,字符序列起始于@Str[1],@Str[1]偏移负16个字节的空间存储着字串长度.引用计数等信息.字符序列以NULL结束. string[n] string[n] = ShortString = 短字符串,最多容纳255个字符,实际长度是字符长度+1,是Delphi的简单类型: Str[0]存储着字符的个数,

java中byte转换int时为何与0xff进行与运算(转)

在剖析该问题前请看如下代码 Java代码   public static String bytes2HexString(byte[] b) { String ret = ""; for (int i = 0; i < b.length; i++) { String hex = Integer.toHexString(b[ i ] & 0xFF); if (hex.length() == 1) { hex = '0' + hex; } ret += hex.toUpperC

[转]java中byte转换int时为何与0xff进行与运算

在剖析该问题前请看如下代码public static String bytes2HexString(byte[] b) {  String ret = "";  for (int i = 0; i < b.length; i++) {   String hex = Integer.toHexString(b[ i ] & 0xFF);   if (hex.length() == 1) {    hex = '0' + hex;   }   ret += hex.toUpp

如何在String和Byte[]对象之间进行转换

分析问题 字符串和字节数组之间的转换,事实上代表了现实世界信息和数字世界信息之间的转换,要理解其中的机制,需要先了解一下几个概念. 1.比特. 比特(bit)是指一个位,它可以说是计算机内物理保存的最近本单元.现在的计算机体系采用二进制逻辑,即一个基本单元可以保存两种数值:0和1.这是因为0.1机制可以用多种物理系统来表示,例如高电平和低电平.二极管的导通和关闭.磁场的正极和负极等.总之,一个比特就是一个二进制位. 2.字节. 一个字节(byte),在C#中是由8个比特来构成的.它的值可以有一个

String.getBytes()和new String()(string与byte[]的转换)

在Java中,String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示,如 byte[] b_gbk = "中".getBytes("GBK");byte[] b_utf8 = "中".getBytes("UTF-8");byte[] b_iso88591 = "中".getBytes("ISO8859-1");