System.Text.Encoding.BigEndianUnicode.GetBytes()

解决方案 »

  1.   

    byte[] ascii = new byte[] { 97, 98, 99, 100 };
    byte[] unicode = Encoding.Unicode.GetBytes(Encoding.ASCII.GetString(ascii));
    Text = Encoding.Unicode.GetString(unicode);
      

  2.   

    string s1 = "6D696E666FC4E30D0ABAC3";
                byte[] array = new byte[s1.Length / 2];
                for (int i = 0; i < s1.Length / 2; i++)
                {
                    string str = s1.Substring(i * 2, 2);
                    array[i] = (byte)Convert.ToInt32(str, 16);
                }            string s = Encoding.GetEncoding("GBK").GetString(array);
      

  3.   

    用UTF8Encoding试试,具体怎么用忘记了。查MSDN
      

  4.   

    //szAsci  要轉換的字串
      private string AsciiToUniCode(string szAsci)
            {
                string szUniCode;
                Encoding ascii = Encoding.ASCII;
                Encoding unicode = Encoding.Unicode;            byte[] asciiBytes = ascii.GetBytes(szAnsi);            byte[] unicodeBytes = Encoding.Convert(ascii, unicode, asciiBytes);            char[] unicodeChars = new char[unicode.GetCharCount(unicodeBytes, 0, unicodeBytes.Length)];
                unicode.GetChars(unicodeBytes, 0, unicodeBytes.Length, unicodeChars, 0);
                szUniCode = new string(unicodeChars);            return szUniCode;
            }為什麼漢字轉換後都是'?'?
      

  5.   


    System.Text.Encoding.BigEndianUnicode.GetBytes()Big-Endian字节顺序的 unicode 格式编码.System.Text.Encoding.Unicode.GetBytes()Little-Endian字节顺序的 unicode 格式编码.
      

  6.   

    如果你的传入参数是ascii,就不该用string,应为.NET中string是Unicode编码的
    应该直接传入ascii编码byte数组
      

  7.   

    .NET中不存在ascii码字符串的
    楼主以前是用Java的吧,Java里的字符串可以有不同的编码,.NET里不可以
      

  8.   

    .NET中,字符串的定义是Unicode字符的有序集合