首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

byte[]转str有关问题

2012-12-20 
求救byte[]转str问题byte[] bytes new byte[3]bytes[0] 83bytes[1] 72bytes[2] 0x00String st

求救byte[]转str问题
byte[] bytes = new byte[3];
bytes[0] = 83;
bytes[1] = 72;
bytes[2] = 0x00;
String str = new String(bytes);
String str1 = str + "1234567";

这段代码就是得不到我想要的结果,str1就是不对,怎么办呀
[解决办法]
up
[解决办法]
你这代码得到的结果是什么?

你想要的结果是什么?
[解决办法]
你得到的String应该是UTF编码的,如果你需要的是ASCII的,请用System.Text的Encoding类转换。
[解决办法]
需要将数组转换为unicode 字符的数组。
[解决办法]
string a="askdjfa;ldksfjwilgfj";
char[] c=a.ToCharArray();
[解决办法]
//命名空间
using System.Text;

//转string
byte[] Name = new byte[100];
string strName="asd";
ASCIIEncoding  st = new ASCIIEncoding();
strName = st.GetString(Name);

//转byte[]
byte[] Name;
string sName = "Group1";
ASCIIEncoding  st = new ASCIIEncoding();
Name = st.GetBytes(sName);
[解决办法]
byte[] bytOut = {....};
string Result = System.Text.Convert.ToBase64String(bytOut);
[解决办法]
是编码类型问题
[解决办法]
msdn的源码
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);
      }
   }
}

[解决办法]
使用内存流:
大概是:System.IO.BinaryReader br = new System.IO.BinaryReader(System.IO.MemoryStream(bytes,System.Text.Encoding...)
记不清了,自己可以查一下

[解决办法]
好贴啊,强顶一小下!

热点排行