using System; using System.Text; namespace Test { class Program { static void Main() { int num = 10; StringBuilder builder = new StringBuilder(); for (int i = 0; i < num; i++) { builder.Append("abcd1234"); } string ss = builder.ToString(); Console.WriteLine(ss.Length);//80 byte[] dataBase64 = Convert.FromBase64String(ss); //如果字符串的長度不是4的倍數,Base64編碼會報異常:(Base-64 字符數組或字符串的長度無效) Console.WriteLine(dataBase64.Length); string newSS = Convert.ToBase64String(dataBase64, 0, dataBase64.Length); Console.WriteLine(ss.Equals(newSS)); //60 byte[] dataUTF8 = Encoding.UTF8.GetBytes(ss); Console.WriteLine(dataUTF8.Length);//跟字符串的長度一樣:80 newSS = Encoding.UTF8.GetString(dataUTF8, 0, dataUTF8.Length); Console.WriteLine(ss.Equals(newSS)); Console.ReadLine(); /* 80 60 True 80 True */ } } }
總結:
Base64編碼 和 UTF-8編碼,相互比較后Base64編碼后的長度會相對小些。
UTF-8編碼后的長度跟原來的字符串的長度一樣。