2016年6月21日 星期二

【Asp.net C#】 byte 轉換 Base64String 、byte 內含中文處理方式


Convert.ToBase64String 方法 (Byte[])
https://msdn.microsoft.com/zh-tw/library/dhx0d524(v=vs.110).aspx

Convert.FromBase64String 方法 (String)
https://msdn.microsoft.com/zh-tw/library/system.convert.frombase64string(v=vs.110).aspx

ASCII只能處理單byte字元(ascii碼介於0~255)無法處理中文


字串以系統編碼方式轉換成Byte的形式
System.Text.Encoding.Default.GetBytes(String)

Function 參數:[Object-Byte陣列],[起值],[未端長度]
System.Text.Encoding.Default.GetString(temp_byte,0,temp.length)


byte 合併  function 參考國外
【方法1】
public static byte[] Combine(byte[] first, byte[] second)
{
    byte[] result= new byte[first.Length + second.Length];
    Buffer.BlockCopy(first, 0, ret, 0, first.Length);
    Buffer.BlockCopy(second, 0, ret, first.Length, second.Length);
    return result;
}

【方法2】
List temp_list = new List();
foreach (byte item in head_byte.ToList())
  temp_list.Add(item);

【方法3】
byte[] result  = head_check.Concat(head_byte).Concat(body_byte).Concat(end_byte).ToArray();

參考網址:
http://stackoverflow.com/questions/415291/best-way-to-combine-two-or-more-byte-arrays-in-c-sharp