zoukankan      html  css  js  c++  java
  • C# 中关于汉字与16进制转换的代码

    /// <summary>
        
    /// 从汉字转换到16进制
        
    /// </summary>
        
    /// <param name="s"></param>
        
    /// <returns></returns>
        public static string GetHexFromChs(string s)
        {
            
    if ((s.Length % 2!= 0)
            {
                s 
    += " ";//空格
                
    //throw new ArgumentException("s is not valid chinese string!");
            }

            System.Text.Encoding chs 
    = System.Text.Encoding.GetEncoding("gb2312");

            
    byte[] bytes = chs.GetBytes(s);

            
    string str = "";

            
    for (int i = 0; i < bytes.Length; i++)
            {
                str 
    += string.Format("{0:X}", bytes[i]);
            }

            
    return str;
        }
        
    /// <summary>
        
    /// 从16进制转换成汉字
        
    /// </summary>
        
    /// <param name="hex"></param>
        
    /// <returns></returns>
        public static string GetChsFromHex(string hex)
        {
            
    if (hex == null)
                
    throw new ArgumentNullException("hex");
            
    if (hex.Length % 2 != 0)
            {
                hex 
    += "20";//空格
                
    //throw new ArgumentException("hex is not a valid number!", "hex");
            }
            
    // 需要将 hex 转换成 byte 数组。
            byte[] bytes = new byte[hex.Length / 2];

            
    for (int i = 0; i < bytes.Length; i++)
            {
                
    try
                {
                    
    // 每两个字符是一个 byte。
                    bytes[i] = byte.Parse(hex.Substring(i * 22),
                        System.Globalization.NumberStyles.HexNumber);
                }
                
    catch
                {
                    
    // Rethrow an exception with custom message.
                    throw new ArgumentException("hex is not a valid hex number!""hex");
                }
            }

            
    // 获得 GB2312,Chinese Simplified。
            System.Text.Encoding chs = System.Text.Encoding.GetEncoding("gb2312");


            
    return chs.GetString(bytes);
        }
    wq r
  • 相关阅读:
    Linux 网络流量实时监控工具之ntopng详解
    linux wget 命令用法详解(附实例说明)
    Linux curl使用简单介绍
    数据库中随机查询数据
    【算法】验证码识别基础方法及源码(转)
    CentOS 7静默(无图形化界面)安装Oracle 11g
    史上最详细最全的Linux上安装Oracle的教程-centos7
    如何实现Docker镜像和容器实例的备份迁移
    oozie timezone时区配置
    通过hue提交oozie定时任务
  • 原文地址:https://www.cnblogs.com/hantianwei/p/1571264.html
Copyright © 2011-2022 走看看