【转】GB2312转换成UTF-8与utf_8转换成GB2312

/// <summary>
        /// utf_8转换成GB2312
        /// </summary>
        /// <param name="utfInfo"></param>
        /// <returns></returns>
        private string ToGB2312(string utfInfo)
        {
            string gb2312Info = string.Empty;
            Encoding utf8 = Encoding.UTF8;
            Encoding gb2312 = Encoding.GetEncoding("gb2312");

            byte[] unicodeBytes = utf8.GetBytes(utfInfo);

            byte[] asciiBytes = Encoding.Convert(utf8, gb2312, unicodeBytes);

            char[] asciiChars = new char[gb2312.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
            gb2312.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
            string gb2312info = new string(asciiChars);
            return gb2312info;
        }


        /// <summary>
        /// GB2312转换成UTF-8
        /// </summary>
        /// <param name="gbInfo"></param>
        /// <returns></returns>
        private string ToUTF8(string gbInfo)
        {
            string Info = string.Empty;
            Encoding gb2312 = Encoding.GetEncoding("gb2312");
            Encoding utf_8 = Encoding.GetEncoding("UTF-8");

            byte[] unicodeBytes = gb2312.GetBytes(gbInfo);

            byte[] asciiBytes = Encoding.Convert(gb2312,utf_8 , unicodeBytes);

            char[] asciiChars = new char[utf_8.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
            utf_8.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
            string info = new string(asciiChars);
            return info;

        }

posted @ 2010-08-10 14:50  奇幻男孩  阅读(1934)  评论(0编辑  收藏  举报