1. 程式人生 > >System.Text.Encoding 學習筆記

System.Text.Encoding 學習筆記

using System;
using System.Text;

/// <summary>
///  測試各種編碼轉換前後結果
/// </summary>
public class EncodingTest
{
    [STAThread]
    static void Main()
    {
        EncodingTest test;
        test = new EncodingTest();
    }
   
    public byte[] m_bytes=new byte[256];

    public StringBuilder sb = new StringBuilder(1024);

 public EncodingTest()
 {
        for(int i=0;i<256;i++)
        {
            m_bytes[i]=(byte)i;
        }

        sb.Remove(0, sb.Length);
        sb.Append(System.Text.Encoding.Unicode.GetString(m_bytes));
        Console.WriteLine("Unicode" + sb.Length.ToString());
        Console.WriteLine(BitConverter.ToString(System.Text.Encoding.Unicode.GetBytes(sb.ToString())));

        sb.Remove(0, sb.Length);
        sb.Append(System.Text.Encoding.ASCII.GetString(m_bytes));
        Console.WriteLine("ASCII" + sb.Length.ToString());
        Console.WriteLine(BitConverter.ToString(System.Text.Encoding.ASCII.GetBytes(sb.ToString())));

        sb.Remove(0, sb.Length);
        sb.Append(System.Text.Encoding.BigEndianUnicode.GetString(m_bytes));
        Console.WriteLine("BigEndianUnicode" + sb.Length.ToString());
        Console.WriteLine(BitConverter.ToString(System.Text.Encoding.BigEndianUnicode.GetBytes(sb.ToString())));

        sb.Remove(0, sb.Length);
        sb.Append(System.Text.Encoding.Default.GetString(m_bytes));
        Console.WriteLine("Default" + sb.Length.ToString());
        Console.WriteLine(BitConverter.ToString(System.Text.Encoding.Default.GetBytes(sb.ToString())));

        sb.Remove(0, sb.Length);
        sb.Append(System.Text.Encoding.GetEncoding("GB2312").GetString(m_bytes));
        Console.WriteLine("GB2312" + sb.Length.ToString());
        Console.WriteLine(BitConverter.ToString(System.Text.Encoding.GetEncoding("GB2312").GetBytes(sb.ToString())));

        sb.Remove(0, sb.Length);
        sb.Append(System.Text.Encoding.UTF32.GetString(m_bytes));
        Console.WriteLine("UTF32" + sb.Length.ToString());
        Console.WriteLine(BitConverter.ToString(System.Text.Encoding.UTF32.GetBytes(sb.ToString())));

        sb.Remove(0, sb.Length);
        sb.Append(System.Text.Encoding.UTF7.GetString(m_bytes));
        Console.WriteLine("UTF7" + sb.Length.ToString());
        Console.WriteLine(BitConverter.ToString(System.Text.Encoding.UTF7.GetBytes(sb.ToString())));

        sb.Remove(0, sb.Length);
        sb.Append(System.Text.Encoding.UTF8.GetString(m_bytes));
        Console.WriteLine("UTF8" + sb.Length.ToString());
        Console.WriteLine(BitConverter.ToString(System.Text.Encoding.UTF8.GetBytes(sb.ToString())));
 }
}

結果

Unicode126
00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F-10-11-12-13-14-15-16-17-18-19-1A-1B-1C-1D-1E-1F-20-21-22-23-24-25-26-27-28-29-2A-2B-2C-2D-2E-2F-30-31-32-33-34-35-36-37-38-39-3A-3B-3C-3D-3E-3F-40-41-42-43-44-45-46-47-48-49-4A-4B-4C-4D-4E-4F-50-51-52-53-54-55-56-57-58-59-5A-5B-5C-5D-5E-5F-60-61-62-63-64-65-66-67-68-69-6A-6B-6C-6D-6E-6F-70-71-72-73-74-75-76-77-78-79-7A-7B-7C-7D-7E-7F-80-81-82-83-84-85-86-87-88-89-8A-8B-8C-8D-8E-8F-90-91-92-93-94-95-96-97-98-99-9A-9B-9C-9D-9E-9F-A0-A1-A2-A3-A4-A5-A6-A7-A8-A9-AA-AB-AC-AD-AE-AF-B0-B1-B2-B3-B4-B5-B6-B7-B8-B9-BA-BB-BC-BD-BE-BF-C0-C1-C2-C3-C4-C5-C6-C7-C8-C9-CA-CB-CC-CD-CE-CF-D0-D1-D2-D3-D4-D5-D6-D7-DA-DB-DC-DD-E0-E1-E2-E3-E4-E5-E6-E7-E8-E9-EA-EB-EC-ED-EE-EF-F0-F1-F2-F3-F4-F5-F6-F7-F8-F9-FA-FB-FC-FD-FE-FF
ASCII256
00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F-10-11-12-13-14-15-16-17-18-19-1A-1B-1C-1D-1E-1F-20-21-22-23-24-25-26-27-28-29-2A-2B-2C-2D-2E-2F-30-31-32-33-34-35-36-37-38-39-3A-3B-3C-3D-3E-3F-40-41-42-43-44-45-46-47-48-49-4A-4B-4C-4D-4E-4F-50-51-52-53-54-55-56-57-58-59-5A-5B-5C-5D-5E-5F-60-61-62-63-64-65-66-67-68-69-6A-6B-6C-6D-6E-6F-70-71-72-73-74-75-76-77-78-79-7A-7B-7C-7D-7E-7F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F-3F
BigEndianUnicode126
00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F-10-11-12-13-14-15-16-17-18-19-1A-1B-1C-1D-1E-1F-20-21-22-23-24-25-26-27-28-29-2A-2B-2C-2D-2E-2F-30-31-32-33-34-35-36-37-38-39-3A-3B-3C-3D-3E-3F-40-41-42-43-44-45-46-47-48-49-4A-4B-4C-4D-4E-4F-50-51-52-53-54-55-56-57-58-59-5A-5B-5C-5D-5E-5F-60-61-62-63-64-65-66-67-68-69-6A-6B-6C-6D-6E-6F-70-71-72-73-74-75-76-77-78-79-7A-7B-7C-7D-7E-7F-80-81-82-83-84-85-86-87-88-89-8A-8B-8C-8D-8E-8F-90-91-92-93-94-95-96-97-98-99-9A-9B-9C-9D-9E-9F-A0-A1-A2-A3-A4-A5-A6-A7-A8-A9-AA-AB-AC-AD-AE-AF-B0-B1-B2-B3-B4-B5-B6-B7-B8-B9-BA-BB-BC-BD-BE-BF-C0-C1-C2-C3-C4-C5-C6-C7-C8-C9-CA-CB-CC-CD-CE-CF-D0-D1-D2-D3-D4-D5-D6-D7-DA-DB-DC-DD-E0-E1-E2-E3-E4-E5-E6-E7-E8-E9-EA-EB-EC-ED-EE-EF-F0-F1-F2-F3-F4-F5-F6-F7-F8-F9-FA-FB-FC-FD-FE-FF
Default193
00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F-10-11-12-13-14-15-16-17-18-19-1A-1B-1C-1D-1E-1F-20-21-22-23-24-25-26-27-28-29-2A-2B-2C-2D-2E-2F-30-31-32-33-34-35-36-37-38-39-3A-3B-3C-3D-3E-3F-40-41-42-43-44-45-46-47-48-49-4A-4B-4C-4D-4E-4F-50-51-52-53-54-55-56-57-58-59-5A-5B-5C-5D-5E-5F-60-61-62-63-64-65-66-67-68-69-6A-6B-6C-6D-6E-6F-70-71-72-73-74-75-76-77-78-79-7A-7B-7C-7D-7E-7F-80-81-82-83-84-85-86-87-88-89-8A-8B-8C-8D-8E-8F-90-91-92-93-94-95-96-97-98-99-9A-9B-9C-9D-9E-9F-A0-A1-A2-A3-A4-A5-A6-A7-A8-A9-AA-AB-AC-AD-AE-AF-B0-B1-B2-B3-B4-B5-B6-B7-B8-B9-BA-BB-BC-BD-BE-BF-C0-C1-C2-C3-C4-C5-C6-C7-C8-C9-CA-CB-CC-CD-CE-CF-D0-D1-D2-D3-D4-D5-D6-D7-D8-D9-DA-DB-DC-DD-DE-DF-E0-E1-E2-E3-E4-E5-E6-E7-E8-E9-EA-EB-EC-ED-EE-EF-F0-F1-F2-F3-F4-F5-F6-F7-F8-F9-FA-FB-FC-FD-FE-FF

GB2312193
00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F-10-11-12-13-14-15-16-17-18-19-1A-1B-1C-1D-1E-1F-20-21-22-23-24-25-26-27-28-29-2A-2B-2C-2D-2E-2F-30-31-32-33-34-35-36-37-38-39-3A-3B-3C-3D-3E-3F-40-41-42-43-44-45-46-47-48-49-4A-4B-4C-4D-4E-4F-50-51-52-53-54-55-56-57-58-59-5A-5B-5C-5D-5E-5F-60-61-62-63-64-65-66-67-68-69-6A-6B-6C-6D-6E-6F-70-71-72-73-74-75-76-77-78-79-7A-7B-7C-7D-7E-7F-80-81-82-83-84-85-86-87-88-89-8A-8B-8C-8D-8E-8F-90-91-92-93-94-95-96-97-98-99-9A-9B-9C-9D-9E-9F-A0-A1-A2-A3-A4-A5-A6-A7-A8-A9-AA-AB-AC-AD-AE-AF-B0-B1-B2-B3-B4-B5-B6-B7-B8-B9-BA-BB-BC-BD-BE-BF-C0-C1-C2-C3-C4-C5-C6-C7-C8-C9-CA-CB-CC-CD-CE-CF-D0-D1-D2-D3-D4-D5-D6-D7-D8-D9-DA-DB-DC-DD-DE-DF-E0-E1-E2-E3-E4-E5-E6-E7-E8-E9-EA-EB-EC-ED-EE-EF-F0-F1-F2-F3-F4-F5-F6-F7-F8-F9-FA-FB-FC-FD-FE-FF
UTF320

UTF7255
2B-41-41-41-41-41-51-41-43-41-41-4D-41-42-41-41-46-41-41-59-41-42-77-41-49-2D-09-0A-2B-41-41-73-41-44-41-2D-0D-2B-41-41-34-41-44-77-41-51-41-42-45-41-45-67-41-54-41-42-51-41-46-51-41-57-41-42-63-41-47-41-41-5A-41-42-6F-41-47-77-41-63-41-42-30-41-48-67-41-66-2D-20-2B-41-43-45-41-49-67-41-6A-41-43-51-41-4A-51-41-6D-2D-27-28-29-2B-41-43-6F-2D-2C-2D-2E-2F-30-31-32-33-34-35-36-37-38-39-3A-2B-41-44-73-41-50-41-41-39-41-44-34-2D-3F-2B-41-45-41-2D-41-42-43-44-45-46-47-48-49-4A-4B-4C-4D-4E-4F-50-51-52-53-54-55-56-57-58-59-5A-2B-41-46-73-41-58-41-42-64-41-46-34-41-58-77-42-67-2D-61-62-63-64-65-66-67-68-69-6A-6B-6C-6D-6E-6F-70-71-72-73-74-75-76-77-78-79-7A-2B-41-48-73-41-66-41-42-39-41-48-34-41-66-77-43-41-41-49-45-41-67-67-43-44-41-49-51-41-68-51-43-47-41-49-63-41-69-41-43-4A-41-49-6F-41-69-77-43-4D-41-49-30-41-6A-67-43-50-41-4A-41-41-6B-51-43-53-41-4A-4D-41-6C-41-43-56-41-4A-59-41-6C-77-43-59-41-4A-6B-41-6D-67-43-62-41-4A-77-41-6E-51-43-65-41-4A-38-41-6F-41-43-68-41-4B-49-41-6F-77-43-6B-41-4B-55-41-70-67-43-6E-41-4B-67-41-71-51-43-71-41-4B-73-41-72-41-43-74-41-4B-34-41-72-77-43-77-41-4C-45-41-73-67-43-7A-41-4C-51-41-74-51-43-32-41-4C-63-41-75-41-43-35-41-4C-6F-41-75-77-43-38-41-4C-30-41-76-67-43-2F-41-4D-41-41-77-51-44-43-41-4D-4D-41-78-41-44-46-41-4D-59-41-78-77-44-49-41-4D-6B-41-79-67-44-4C-41-4D-77-41-7A-51-44-4F-41-4D-38-41-30-41-44-52-41-4E-49-41-30-77-44-55-41-4E-55-41-31-67-44-58-41-4E-67-41-32-51-44-61-41-4E-73-41-33-41-44-64-41-4E-34-41-33-77-44-67-41-4F-45-41-34-67-44-6A-41-4F-51-41-35-51-44-6D-41-4F-63-41-36-41-44-70-41-4F-6F-41-36-77-44-73-41-4F-30-41-37-67-44-76-41-50-41-41-38-51-44-79-41-50-4D-41-39-41-44-31-41-50-59-41-39-77-44-34-41-50-6B-41-2B-67-44-37-41-50-77-41-2F-51-44-2B-41-50-38-2D
UTF8128
00-01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F-10-11-12-13-14-15-16-17-18-19-1A-1B-1C-1D-1E-1F-20-21-22-23-24-25-26-27-28-29-2A-2B-2C-2D-2E-2F-30-31-32-33-34-35-36-37-38-39-3A-3B-3C-3D-3E-3F-40-41-42-43-44-45-46-47-48-49-4A-4B-4C-4D-4E-4F-50-51-52-53-54-55-56-57-58-59-5A-5B-5C-5D-5E-5F-60-61-62-63-64-65-66-67-68-69-6A-6B-6C-6D-6E-6F-70-71-72-73-74-75-76-77-78-79-7A-7B-7C-7D-7E-7F

注意:1、sb的長度並不一定和byte長度相等