十六进制字符串转化成字符串输出「建议收藏」

十六进制字符串转化成字符串输出「建议收藏」//////从16进制转换成汉字/////////编码,如"utf-8","gb2312"///publicstringHexToStr(s

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

///<summary>
    /// 从16进制转换成汉字
    /// </summary>
    /// <param name="hex"></param>
    /// <param name="charset">编码,如"utf-8","gb2312"</param>
    /// <returns></returns>
    public  string HexToStr(string hex, string charset)
    {
        if (hex == null)
            throw new ArgumentNullException("hex");
        hex = hex.Replace(",", "");
        hex = hex.Replace("\n", "");
        hex = hex.Replace("\\", "");
        hex = hex.Replace(" ", "");
        if (hex.Length % 2 != 0)
        {
            hex += "20";//空格
        }
        // 需要将 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 * 2, 2),
                System.Globalization.NumberStyles.HexNumber);
            }
            catch
            {
                // Rethrow an exception with custom message. 
                throw new ArgumentException("hex is not a valid hex number!", "hex");
            }
        }
        System.Text.Encoding chs = System.Text.Encoding.GetEncoding(charset);
        return chs.GetString(bytes);
    }

 

public string HexToStr(string mHex) // 返回十六进制代表的字符串
        {
            mHex = mHex.Replace(" ", "");
            if (mHex.Length <= 0) return "";
            byte[] vBytes = new byte[mHex.Length / 2];
            for (int i = 0; i < mHex.Length; i += 2)
                if (!byte.TryParse(mHex.Substring(i, 2), NumberStyles.HexNumber, null, out vBytes[i / 2]))
                    vBytes[i / 2] = 0;
            return ASCIIEncoding.Default.GetString(vBytes);
        }
 public string StrToHex(string mStr) //返回处理后的十六进制字符串
        {
            return BitConverter.ToString(
            ASCIIEncoding.Default.GetBytes(mStr)).Replace("-", " ");
        } 

 

 /// <summary>  

        /// 16进制字符串转字节数组  

        /// </summary>  

        /// <param name="hexString"></param>  

        /// <returns></returns>  

        public static byte[] strToToHexByte(string hexString)
        {

            hexString = hexString.Replace(" ", "");

            if ((hexString.Length % 2) != 0)

                hexString += " ";

            byte[] returnBytes = new byte[hexString.Length / 2];

            for (int i = 0; i < returnBytes.Length; i++)

                returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2).Trim(), 16);

            return returnBytes;

        }  

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166709.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • uniapp背景图片占不满屏幕_vue背景图片加载不出来

    uniapp背景图片占不满屏幕_vue背景图片加载不出来1.手机支持base64(小于40kb会自动转换否则就只能自己动手了2.路径前面加~@如:background:url(“~@/static/img/phb-no2@2x.jpg”);图片大于40k可以自己转化转化base64使用如:background:url(“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAAEoCAI…

    2022年9月19日
    2
  • Kali Linux三种网络攻击方法总结(DDoS、CC和ARP欺骗)

    Kali Linux三种网络攻击方法总结(DDoS、CC和ARP欺骗)本文章使用的是KaliLinux的2020-4-installer-amd64版本KaliLinux的安装过程本文章不做过多说明,请自行百度一、DDos攻击首先,打开一个命令行输入以下命令:gitclonehttps://github.com/Ha3MrX/DDos-Attack提示如图所示这样,用于DDos的数据包就已经下载到了你的Kali上下面,进入你所下载的DDos文件夹,输入命令(注意大小写):cdDDos-Attack然后设置ddos-attack.py设置

    2022年7月11日
    57
  • python编手机程序_python程序设计

    python编手机程序_python程序设计手机编程软件有很多,大部分都很难使用,操作不灵活,甚至不能安装第三方库。尝试安装了很多Python移动编程软件,发现了很多问题,不是编码效率低就是各种bug。今天,来自一位python编程小哥指导,向大家推荐两款精心挑选的手机编程软件,它们也是非常成熟的手机编程工具。QPythonOHQpython是一个轻量级的、成熟的python编程工具。它配有终端和简单的代码编辑器。它支持安装第三方库。目…

    2022年8月12日
    8
  • mysql 加入�列,改动列,删除列。

    mysql 加入�列,改动列,删除列。

    2021年12月1日
    36
  • pycharm如何设置背景图片_电话背景图片怎么设置

    pycharm如何设置背景图片_电话背景图片怎么设置打开Pycharm点击左上角File如图:然后选择找到Settings点击进入,打开Appearance&Behavior,选择Appearance如图:最后找到BackgroundImage,选择好自己要设置的图片,Opacity可以调解好透明度,点击OK就可以了看效果:…

    2022年8月29日
    7
  • 三种主流芯片架构简单比较[通俗易懂]

    三种主流芯片架构简单比较[通俗易懂]来源:https://blog.csdn.net/weixin_39752599/article/details/78664055可以参照的信息:https://blog.csdn.net/shenghuaDay/article/details/78747561三种主流芯片架构  1. ARM ARM是高级精简指令集的简称(AdvancedRISCMachine),它是一个32位的精简…

    2025年9月24日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号