• 一个代码转换的类


        /// <summary>
        
    /// 代码转换功能
        
    /// </summary>

        public class CodingChange
      
    {
            
    /// <summary>
            
    /// 把字符型转换成16进制编码
            
    /// </summary>
            
    /// <param name="character">字符串</param>
            
    /// <returns>一个字符转成4位编码</returns>

          public static 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)); 
                  
    //取出低字节编码内容(两位16进制)    
                    string lowCode = System.Convert.ToString(bytes[0], 16); 
                  
    if (lowCode.Length == 1)
                      lowCode 
    = "0" + lowCode;
                    
    //取出高字节编码内容(两位16进制)
                  string hightCode = System.Convert.ToString(bytes[1], 16);
                  
    if (hightCode.Length == 1)
                      hightCode 
    = "0" + hightCode;
                  coding 
    += (lowCode + hightCode); //加入到字符串中
              }

              
    return coding;
          }


            
    /// <summary>
            
    /// 把16进制编码转换成字符型
            
    /// </summary>
            
    /// <param name="coding">4位转成一位,长度必须是4的倍数</param>
            
    /// <returns>字符串</returns>

          public static string CodingToCharacter(string coding)
          
    {
              
    string characters = "";
                
    if (coding.Length % 4 != 0)//编码为16进制,必须为4的倍数。
              {
                  
    throw new System.Exception("编码格式不正确");
              }

              
    for (int i = 0; i<coding.Length; i+=4 ) //每四位为一个汉字
              {
                  
    byte[] bytes = new byte[2];
                  
    string lowCode = coding.Substring(i, 2); //取出低字节,并以16进制进制转换
                  bytes[0= System.Convert.ToByte(lowCode, 16);
                  
    string highCode = coding.Substring(i + 22); //取出高字节,并以16进制进行转换
                  bytes[1= System.Convert.ToByte(highCode, 16);
                  
    string character = System.Text.Encoding.Unicode.GetString(bytes);
                  characters 
    += character;
              }

              
    return characters;
          }

        }
  • 相关阅读:
    PHP一维数组转二维数组正则表达式
    PHP IDE选择标准
    PHP导出MySQL数据字典 Summer-Mysql-Dic
    PHP导入导出csv文件 Summer-CSV
    laravel学习
    php markdown 接口文档生成工具 SummerDoc
    AIX系统日志
    inotify+rsync实现实时同步
    shell数组应用
    Nginx缓存功能、防盗链、URL重写
  • 原文地址:https://www.cnblogs.com/liubiqu/p/66863.html
Copyright © 2020-2023  润新知