c# 实现获取汉字十六进制Unicode编码字符串

时间:2023-01-11 12:18:45

1、  汉字转十六进制UNICODE编码字符串

        /// <summary>
        /// ////
        /// </summary>
        /// <param name="character"></param>
        /// <returns></returns>
        public string CharacterToCoding(string character)
        {
            string coding = "";

            for (int i = 0; i < character.Length; i++)
            {
                byte[] bytes = System.Text.Encoding.Unicode.GetBytes(character.Substring(i, 1));

                //取出二进制编码内容  
                string lowCode = System.Convert.ToString(bytes[0], 16);

                //取出低字节编码内容(两位16进制)  
                if (lowCode.Length == 1)
                {
                    lowCode = "0" + lowCode;
                }

                string hightCode = System.Convert.ToString(bytes[1], 16);

                //取出高字节编码内容(两位16进制)  
                if (hightCode.Length == 1)
                {
                    hightCode = "0" + hightCode;
                }

                coding += (hightCode + lowCode);

            }

            return coding;
        }

  2、  十六进制UNICODE编码字符串 转 汉字    

        /// <summary>
        /// //
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        public string UnicodeToCharacter(string text)
        {
            byte[] arr = HexStringToByteArray(text);

            System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding();

            string str = converter.GetString(arr);


            return str;
        }