MUTF編碼解釋

JAVA中的MUTF-8編碼就是UTF-8編碼前面加了兩個byte表示這個字節串的長度。

比如說字符串"A"的UTF-8編碼是【61】,字符串長度爲1,那麼字符串“A”的MUTF-8編碼就是【0,1,61】。

比如說字符串"AAA...AAA"(1024個‘A’),UTF編碼爲【61,61,61...61,61,61】,字符串長度爲1024,那麼它的MUTF-8編碼就是【4,0,61,61,61...61,61,61】。

下面貼出C# 裏面string和MUTF-8的byte[]的相互轉換函數:


 private static byte[] STRtoMUTF(string str)
        {
            int len = str.Length;
            byte[] bb = new byte[2];
            bb[0] = (byte)(len / 256);
            bb[1] = (byte)(len % 256);
            byte[] suf = Encoding.UTF8.GetBytes(str);
            return bb.Concat(suf).ToArray();//連接函數
        }
 private static string MUTFtoSTR(byte[] mutf)
        {
            int len = (int)mutf[0] * 256 + (int)mutf[1];
            return Encoding.UTF8.GetString(mutf, 2, len);
        }



代碼就不細說了。簡單易懂。

發佈了25 篇原創文章 · 獲贊 4 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章