1. 程式人生 > >Byte[ ]轉成string後再轉回byte[ ]

Byte[ ]轉成string後再轉回byte[ ]

因為一直在安卓端做sdk的整合給unity用,很多時候獲取到檔案轉byte[]資料後得傳遞給unity,其實unity是可以調取安卓的額方法並獲取到安卓的java  byte[]陣列的,但是因為邏輯原因就不能這麼做,我只能在安卓裡面調取unity的方法並傳入包含byte[]的json資料。所以就得把byte[]轉換為string型別的,剛開始時直接強轉的 但是轉換失敗資料不一樣了。這塊不理解的同學可以自己做個測試。

後來就在、後端老哥的指導下寫了一個方法

  //byte[]轉string後再轉byte[]
    public static byte[] byteStringTobyte(string bstr)
    {
        string[] sa = bstr.Substring(1, bstr.Length - 2).Split(',');
        byte[] barr = new byte[sa.Length];
        try
        {
            for (int i = 0; i < barr.Length; i++)
            {
                barr[i] = byte.Parse(sa[i]);
            }
        }
        catch (Exception e)
        {
            Debug.Log(e.Message) ;
        }
        return barr;
    }