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

十六进制字符串转化成字符串输出「建议收藏」//////从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;

        }  

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • MinGW安装和使用「建议收藏」

    MinGW安装和使用「建议收藏」MinGW全称MinimalistGNUForWindows,是个精简的Windows平台C/C++、ADA及Fortran编译器,相比Cygwin而言,体积要小很多,使用较为方便。MinGW提供了一套完整的开源编译工具集,以适合Windows平台应用开发,且不依赖任何第三方C运行时库。MinGW包括:一套集成编译器,包括C、C++、ADA语言和Fortran语言编译器用于生

  • HDU 3788 和九度OJ 1006测试数据是不一样的

    HDU 3788 和九度OJ 1006测试数据是不一样的

  • 【WIN】超简单的Excel密码激活成功教程「建议收藏」

    【WIN】超简单的Excel密码激活成功教程「建议收藏」新开一Excel,同时按Alt+F11,进入VBA界面,点菜单上的插入,模块,在新出来的窗口粘贴一下代码:Subcrack()DimiAsLongDimFileNameAsStringi=0FileName=Application.GetOpenFilename("Excel文件(*.xls&amp;*.xlsx),*.xls;*.xlsx",,"VBA…

  • ipad 运行linux_linux 终端快捷键

    ipad 运行linux_linux 终端快捷键实现的具体步骤如下:1.、cydia安装openssh2、installous安装issh3、进入issh,选addconfigurationdescription:随便填host:localhostport:22login:rootpassword:默认为alpine(这个进入以后可以改)保存,连接4、连接时会出现一个警告,点确认即可于是出现:***-mato-ipad:-root#现在就可…

  • Python的命名规范「建议收藏」

    Python的命名规范「建议收藏」Python中常用的一些命名规范,遵守代码命名规范,使代码看起更优雅。

  • 我为什么放弃Go语言

    我为什么放弃Go语言我为什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论,但是我有足够详实的客观的论据。

发表回复

您的电子邮箱地址不会被公开。

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