ASCII,Utf8,Unicode编码下的中英文字符大小

简介:     一,测试Demo namespace 不同编码下的中英文字符大小{ class Program { static void Main(string[] args) { ShowCode()...



    一,测试Demo



namespace 不同编码下的中英文字符大小
{
    class Program
    {
        static void Main(string[] args)
        {
            ShowCode();
        }

        private static void ShowCode() {

            string[] strArray = { "b","abc","乙","甲乙丙丁"};
            byte[] buffer;
            string mode, back;

            foreach (string  str in strArray)
            {
                for (int i=0; i<=2; i++)
                {
                    if (i==0) //ASCII编码
                    {
                        buffer = Encoding.ASCII.GetBytes(str);
                        back = Encoding.ASCII.GetString(buffer, 0, buffer.Length);
                        mode = "ASCII";
                    }
                    else if(i==1)  //UTF8编码
                    {
                        buffer = Encoding.UTF8.GetBytes(str);
                        back = Encoding.UTF8.GetString(buffer, 0, buffer.Length);
                        mode = "UTF8";
                    }
                    else           //Unicode编码
                    {
                        buffer = Encoding.Unicode.GetBytes(str);
                        back = Encoding.Unicode.GetString(buffer, 0, buffer.Length);
                        mode = "Unicode";
                    }

                    Console.WriteLine("编码方式:{0} ;字符串:{1} ;长度:{2}", mode, str, buffer.Length);

                    Console.WriteLine("编码后的字节数组:");

                    for (int j = 0; j <=buffer.Length-1; j++)
                    {
                        Console.WriteLine("  "+buffer[j]+"  "); 
                    }

                    Console.WriteLine("\n编码后字符为:{0} \n",back);

                    
                }

                Console.WriteLine("----------------------------------------------------------");
            }
        
        }
    }
}





  二,结果如下








          

   b只有在Unicode下面编码为2字节,读到的byte[1]被编码为了0;ASCII码和UTF-8编码相同。







Unicode编码每个字节后面都补了个0;




对于中文:






ASCII码编码后连外星人都读不出来了;


UTF8编码出了3个字节;


Unicode出来了两个字节;
















目录
相关文章
|
8月前
|
存储 自然语言处理
ascii与unicode
ASCII是1963年发布的字符编码系统,包含128个字符,主要适用于英语。Unicode是更广泛的编码标准,旨在统一全球文字编码,提供超过100万个字符的码点。UTF-8、UTF-16和UTF-32是Unicode的实现方式,其中UTF-8因与ASCII兼容而在互联网上广泛应用。UTF-16使用2或4字节,UTF-32则固定为4字节编码。ASCII满足基本需求,而Unicode解决了多语言编码挑战。
77 8
|
8月前
|
存储 自然语言处理 C++
Unicode编码
Unicode编码
282 4
|
8月前
|
网络协议
ASCII编码
ASCII编码
198 1
|
3天前
|
存储 自然语言处理 程序员
字符串编码(ASCII, GBK, ANSI, Unicode(‘\u‘), UTF-8编码)(转载)
本文介绍了字符串编码的发展历程,从ASCII、GB2312到Unicode和UTF-8,详细解释了各种编码的特点和应用场景,重点阐述了解决多语言乱码问题的演变过程。
68 54
|
7月前
|
存储 自然语言处理 Python
汉字转Unicode
汉字转Unicode
|
8月前
ASCII编码的10个阿拉伯数字
ASCII编码的10个阿拉伯数字
1106 1
|
存储 网络协议 安全
字符编码技术专题(一):快速理解ASCII、Unicode、GBK和UTF-8
今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料。 这个问题比我想象的复杂,午饭后一直看到晚上9点,才算初步搞清楚。 下面就是我的总结,主要用来整理自己的思路。我尽量写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的*石,对于程序员来说尤其重要,字符编码的知识是必须要懂的。
131 0
|
存储 JavaScript 程序员
【字符编码详解】ASCII、GB2312、GBK、UTF-8、UTF-16编码与Unicode字符集
【字符编码详解】ASCII、GB2312、GBK、UTF-8、UTF-16编码与Unicode字符集
963 0
NSURL汉字UTF8编码
NSURL汉字UTF8编码
118 0
|
存储 自然语言处理
最基础的ASCII、Unicode、UTF-8一起来多了解点
最基础的ASCII、Unicode、UTF-8一起来多了解点
267 0
最基础的ASCII、Unicode、UTF-8一起来多了解点