ASCII 轉換幫助類

    /// <summary>
    /// ASCII 幫助類
    /// </summary>
    public static class ASCIIHelper
    {
        /// <summary>
        /// 含中文字符串轉ASCII
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string Str2ASCII(String str)
        {
            //這裏我們將採用2字節一個漢字的方法來取出漢字的16進制碼
            byte[] textbuf = Encoding.Default.GetBytes(str);
            //用來存儲轉換過後的ASCII碼
            string textAscii = string.Empty;

            for (int i = 0; i < textbuf.Length; i++)
            {
                textAscii += textbuf[i].ToString("X");
            }
            return textAscii;
        }

        /// <summary>
        /// ASCII轉含中文字符串
        /// </summary>
        /// <param name="textAscii">ASCII字符串</param>
        /// <returns></returns>
        public static string ASCII2Str(string textAscii)
        {

            int k = 0;//字節移動偏移量
            byte[] buffer = new byte[textAscii.Length / 2];//存儲變量的字節
            for (int i = 0; i < textAscii.Length / 2; i++)
            {
                //每兩位合併成爲一個字節
                buffer[i] = byte.Parse(textAscii.Substring(k, 2), System.Globalization.NumberStyles.HexNumber);
                k = k + 2;
            }
            //將字節轉化成漢字
            return Encoding.Default.GetString(buffer);
        }
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章