精华内容
下载资源
问答
  • 在ST的官方例程中,看到几个关于十六进制和ASCII码关系判断和转换方面的宏,我注释了一下,保存下来,供学习、复习、备查。 // 用ASCII表示的十六进制中的大写字符吗? #define IS_AF(c) ((c >= 'A') &&...

    在ST的官方例程中,看到几个关于十六进制和ASCII码关系判断和转换方面的宏,我注释了一下,保存下来,供学习、复习、备查。

    // 用ASCII表示的十六进制中的大写字符吗?

        #define IS_AF(c)  ((c >= 'A') && (c <= 'F'))

    // 用ASCII表示的十六进制中的小写字符吗?

        #define IS_af(c)  ((c >= 'a') && (c <= 'f'))

    // 用ASCII表示的数字吗?

        #define IS_09(c)  ((c >= '0') && (c <= '9'))

    // 用ASCII表示的有效的十六禁止数吗?

        #define ISVALIDHEX(c)  IS_AF(c) || IS_af(c) || IS_09(c)

    // 用ASCII表示的有效的十进制数吗?

        #define ISVALIDDEC(c)  IS_09(c)

    // ASCII转换为十进制数

        #define CONVERTDEC(c)  (c - '0')

    // 字母(a-f 或 A-F)转换为十六进制数

        #define CONVERTHEX_alpha(c)  (IS_AF(c) ? (c - 'A'+10) : (c - 'a'+10))

    // 字符(0-9 或 a-f 或 A-F)转换为十六进制数

        #define CONVERTHEX(c)   (IS_09(c) ? (c - '0') : CONVERTHEX_alpha(c))

    展开全文
  • labview实现了十六进制ASCII码的互相转换,亲测可用,简洁方便
  • 十六进制ASCII码 相互转换工具,亲测好用, 方便实用;十六进制ASCII码可以相互转换,奉献给大家!
  • hex ASCII 十六进制,ascii码相互转换

    热门讨论 2011-02-24 18:51:10
    这是将十六进制,ascii码相互转换的小工具.对编程来说非常有用.
  • java中十六进制和ASCII码互相转换

    千次阅读 2019-11-21 11:03:06
     System.out.println("\n-----ASCII码转换为16进制 -----");  String str = "POS88884";   System.out.println("字符串: " + str);  String hex = strToHex.convertStringToHex(str);  System.out.println...

    package com.test;
    public class StringToHex{
     
          public String convertStringToHex(String str){
     
          char[] chars = str.toCharArray();
     
          StringBuffer hex = new StringBuffer();
          for(int i = 0; i < chars.length; i++){
            hex.append(Integer.toHexString((int)chars[i]));
          }
     
          return hex.toString();
          }
     
          public String convertHexToString(String hex){
     
          StringBuilder sb = new StringBuilder();
          StringBuilder temp = new StringBuilder();
     
          //49204c6f7665204a617661 split into two characters 49, 20, 4c...
          for( int i=0; i<hex.length()-1; i+=2 ){
     
              //grab the hex in pairs
              String output = hex.substring(i, (i + 2));
              //convert hex to decimal
              int decimal = Integer.parseInt(output, 16);
              //convert the decimal to character
              sb.append((char)decimal);
     
              temp.append(decimal);
          }
     
          return sb.toString();
          }
     
          //504F533838383834  POS88884
          public static void main(String[] args) {
     
          StringToHex strToHex = new StringToHex();
          System.out.println("\n-----ASCII码转换为16进制 -----");
          String str = "POS88884"; 
          System.out.println("字符串: " + str);
          String hex = strToHex.convertStringToHex(str);
          System.out.println("转换为16进制 : " + hex);
     
          System.out.println("\n***** 16进制转换为ASCII *****");
          System.out.println("Hex : " + hex);
          System.out.println("ASCII : " + strToHex.convertHexToString(hex));
          }
        }

    展开全文
  • 二进制转十六进制和ASCII码 因为背不下ASCII码表,所以写了一个转换工具。 C语言版本,由于能力有限,方法比较落后(努力提升中) 先上代码: #include <stdio.h> #define N 1000 int main() { char ...

    二进制转十六进制和ASCII码


    因为背不下ASCII码表,所以写了一个转换工具。

    C语言版本,由于能力有限,方法比较落后(努力提升中)

    先上代码:

    #include <stdio.h>
    #define N 1000
    
    int main()
    {
    	char binStr[N][10];	//用于存放二进制字符串
    	char hexStr[N][4];	//用于存放十六进制字符串
    	int n;
    	
    	while(scanf("%d", &n)!=EOF)
    	{
    		int i,j;
    		
    		for(i = 0; i < n; i++)
    		{
    			scanf("%s", binStr[i]);	//输入,小心别把换行符输进去了……
    		}
    		
    		printf("ASCII: \n	");
    		for(i = 0; i < n; i++)
    		{
    			int p = 1, temp = 0;
    			for(j = 7; j >= 0; j--)	//正着存进去,就倒着加和
    			{
    				temp = (binStr[i][j]-'0')*p + temp;	//运算时换成对应的 整型数值
    				p = p*2;
    			}
    			printf("%c", temp);
    		}
    		printf("\n");
    		
    		for(i = 0; i < n; i++)
    		{
    			int temp1 = 0, temp2 = 0;
    			int p = 1;
    			for(j = 3; j >= 0; j--)	//正着存进去,就倒着加和
    			{
    				temp1 = (binStr[i][j]-'0')*p + temp1;
    				p = p*2;
    			}
    			p = 1;
    			if(temp1<10)
    				hexStr[i][0] = temp1 + '0';
    			else hexStr[i][0] = temp1 % 10 + 'A';
    				//当 temp1大于十需要转换为'A'~'F'
    				
    			for(j = 7; j >= 4; j--)
    			{
    				temp2 = (binStr[i][j]-'0')*p + temp2;
    				p = p*2;
    			}
    			if(temp2<10)
    				hexStr[i][1] = temp2 + '0';
    			else hexStr[i][1] = temp2 % 10 + 'A';
    		}
    		
    		printf("Hex: \n	");
    		for(i = 0; i < n; i++)
    		{
    			for(j = 0; j < 2; j++)
    				printf("%c", hexStr[i][j]);
    			printf(" ");
    		}
    		printf("\n\n");
    	}
    
    	return 0;
    }
    

    输入:

    42
    01100110 01101100 01100001 01100111 01111011 01100011 01100101 00110011 01100101 00110101 00110000 00110010 01100011 00101101 00110100 00111000 01100011 00111001 00101101 00110100 01100100 00110101 00110000 00101101 00111001 00111001 00111001 00110000 00101101 00110101 01100010 00111000 00110001 01100100 01100010 00110110 01100110 01100011 01100010 01100110 00110000 01111101


    运行结果:
    在这里插入图片描述

    展开全文
  • Java中二进制、十进制、十六进制ASCII码与String及字节数组与十六进制之间的转换 发表于1年前(2013-03-08 16:05) 阅读( 4063)|评论( 0) 19人收藏此文章,我要收藏 赞1 ...

    Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换

    发表于1年前(2013-03-08 16:05)   阅读( 4063) | 评论( 0)  19人收藏此文章, 我要收藏
    赞1
    public class DigitalTrans {
    
        /**
         * 数字字符串转ASCII码字符串
         * 
         * @param String
         *            字符串
         * @return ASCII字符串
         */
        public static String StringToAsciiString(String content) {
            String result = "";
            int max = content.length();
            for (int i = 0; i < max; i++) {
                char c = content.charAt(i);
                String b = Integer.toHexString(c);
                result = result + b;
            }
            return result;
        }
        /**
         * 十六进制转字符串
         * 
         * @param hexString
         *            十六进制字符串
         * @param encodeType
         *            编码类型4:Unicode,2:普通编码
         * @return 字符串
         */
        public static String hexStringToString(String hexString, int encodeType) {
            String result = "";
            int max = hexString.length() / encodeType;
            for (int i = 0; i < max; i++) {
                char c = (char) DigitalTrans.hexStringToAlgorism(hexString
                        .substring(i * encodeType, (i + 1) * encodeType));
                result += c;
            }
            return result;
        }
        /**
         * 十六进制字符串装十进制
         * 
         * @param hex
         *            十六进制字符串
         * @return 十进制数值
         */
        public static int hexStringToAlgorism(String hex) {
            hex = hex.toUpperCase();
            int max = hex.length();
            int result = 0;
            for (int i = max; i > 0; i--) {
                char c = hex.charAt(i - 1);
                int algorism = 0;
                if (c >= '0' && c <= '9') {
                    algorism = c - '0';
                } else {
                    algorism = c - 55;
                }
                result += Math.pow(16, max - i) * algorism;
            }
            return result;
        }
        /**
         * 十六转二进制
         * 
         * @param hex
         *            十六进制字符串
         * @return 二进制字符串
         */
        public static String hexStringToBinary(String hex) {
            hex = hex.toUpperCase();
            String result = "";
            int max = hex.length();
            for (int i = 0; i < max; i++) {
                char c = hex.charAt(i);
                switch (c) {
                case '0':
                    result += "0000";
                    break;
                case '1':
                    result += "0001";
                    break;
                case '2':
                    result += "0010";
                    break;
                case '3':
                    result += "0011";
                    break;
                case '4':
                    result += "0100";
                    break;
                case '5':
                    result += "0101";
                    break;
                case '6':
                    result += "0110";
                    break;
                case '7':
                    result += "0111";
                    break;
                case '8':
                    result += "1000";
                    break;
                case '9':
                    result += "1001";
                    break;
                case 'A':
                    result += "1010";
                    break;
                case 'B':
                    result += "1011";
                    break;
                case 'C':
                    result += "1100";
                    break;
                case 'D':
                    result += "1101";
                    break;
                case 'E':
                    result += "1110";
                    break;
                case 'F':
                    result += "1111";
                    break;
                }
            }
            return result;
        }
        /**
         * ASCII码字符串转数字字符串
         * 
         * @param String
         *            ASCII字符串
         * @return 字符串
         */
        public static String AsciiStringToString(String content) {
            String result = "";
            int length = content.length() / 2;
            for (int i = 0; i < length; i++) {
                String c = content.substring(i * 2, i * 2 + 2);
                int a = hexStringToAlgorism(c);
                char b = (char) a;
                String d = String.valueOf(b);
                result += d;
            }
            return result;
        }
        /**
         * 将十进制转换为指定长度的十六进制字符串
         * 
         * @param algorism
         *            int 十进制数字
         * @param maxLength
         *            int 转换后的十六进制字符串长度
         * @return String 转换后的十六进制字符串
         */
        public static String algorismToHEXString(int algorism, int maxLength) {
            String result = "";
            result = Integer.toHexString(algorism);
    
            if (result.length() % 2 == 1) {
                result = "0" + result;
            }
            return patchHexString(result.toUpperCase(), maxLength);
        }
        /**
         * 字节数组转为普通字符串(ASCII对应的字符)
         * 
         * @param bytearray
         *            byte[]
         * @return String
         */
        public static String bytetoString(byte[] bytearray) {
            String result = "";
            char temp;
    
            int length = bytearray.length;
            for (int i = 0; i < length; i++) {
                temp = (char) bytearray[i];
                result += temp;
            }
            return result;
        }
        /**
         * 二进制字符串转十进制
         * 
         * @param binary
         *            二进制字符串
         * @return 十进制数值
         */
        public static int binaryToAlgorism(String binary) {
            int max = binary.length();
            int result = 0;
            for (int i = max; i > 0; i--) {
                char c = binary.charAt(i - 1);
                int algorism = c - '0';
                result += Math.pow(2, max - i) * algorism;
            }
            return result;
        }
    
        /**
         * 十进制转换为十六进制字符串
         * 
         * @param algorism
         *            int 十进制的数字
         * @return String 对应的十六进制字符串
         */
        public static String algorismToHEXString(int algorism) {
            String result = "";
            result = Integer.toHexString(algorism);
    
            if (result.length() % 2 == 1) {
                result = "0" + result;
    
            }
            result = result.toUpperCase();
    
            return result;
        }
        /**
         * HEX字符串前补0,主要用于长度位数不足。
         * 
         * @param str
         *            String 需要补充长度的十六进制字符串
         * @param maxLength
         *            int 补充后十六进制字符串的长度
         * @return 补充结果
         */
        static public String patchHexString(String str, int maxLength) {
            String temp = "";
            for (int i = 0; i < maxLength - str.length(); i++) {
                temp = "0" + temp;
            }
            str = (temp + str).substring(0, maxLength);
            return str;
        }
        /**
         * 将一个字符串转换为int
         * 
         * @param s
         *            String 要转换的字符串
         * @param defaultInt
         *            int 如果出现异常,默认返回的数字
         * @param radix
         *            int 要转换的字符串是什么进制的,如16 8 10.
         * @return int 转换后的数字
         */
        public static int parseToInt(String s, int defaultInt, int radix) {
            int i = 0;
            try {
                i = Integer.parseInt(s, radix);
            } catch (NumberFormatException ex) {
                i = defaultInt;
            }
            return i;
        }
        /**
         * 将一个十进制形式的数字字符串转换为int
         * 
         * @param s
         *            String 要转换的字符串
         * @param defaultInt
         *            int 如果出现异常,默认返回的数字
         * @return int 转换后的数字
         */
        public static int parseToInt(String s, int defaultInt) {
            int i = 0;
            try {
                i = Integer.parseInt(s);
            } catch (NumberFormatException ex) {
                i = defaultInt;
            }
            return i;
        }
        /**
         * 十六进制字符串转为Byte数组,每两个十六进制字符转为一个Byte
         * 
         * @param hex
         *            十六进制字符串
         * @return byte 转换结果
         */
        public static byte[] hexStringToByte(String hex) {
            int max = hex.length() / 2;
            byte[] bytes = new byte[max];
            String binarys = DigitalTrans.hexStringToBinary(hex);
            for (int i = 0; i < max; i++) {
                bytes[i] = (byte) DigitalTrans.binaryToAlgorism(binarys.substring(
                        i * 8 + 1, (i + 1) * 8));
                if (binarys.charAt(8 * i) == '1') {
                    bytes[i] = (byte) (0 - bytes[i]);
                }
            }
            return bytes;
        }
        /**
         * 十六进制串转化为byte数组
         * 
         * @return the array of byte
         */
        public static final byte[] hex2byte(String hex)
                throws IllegalArgumentException {
            if (hex.length() % 2 != 0) {
                throw new IllegalArgumentException();
            }
            char[] arr = hex.toCharArray();
            byte[] b = new byte[hex.length() / 2];
            for (int i = 0, j = 0, l = hex.length(); i < l; i++, j++) {
                String swap = "" + arr[i++] + arr[i];
                int byteint = Integer.parseInt(swap, 16) & 0xFF;
                b[j] = new Integer(byteint).byteValue();
            }
            return b;
        }
        /**
         * 字节数组转换为十六进制字符串
         * 
         * @param b
         *            byte[] 需要转换的字节数组
         * @return String 十六进制字符串
         */
        public static final String byte2hex(byte b[]) {
            if (b == null) {
                throw new IllegalArgumentException(
                        "Argument b ( byte array ) is null! ");
            }
            String hs = "";
            String stmp = "";
            for (int n = 0; n < b.length; n++) {
                stmp = Integer.toHexString(b[n] & 0xff);
                if (stmp.length() == 1) {
                    hs = hs + "0" + stmp;
                } else {
                    hs = hs + stmp;
                }
            }
            return hs.toUpperCase();
        }
    }

    转载于:https://my.oschina.net/u/2288345/blog/367789

    展开全文
  • //ASCII码转16进制function strToHexCharCode(str) { if (str === "") { return ""; } else { var hexCharCode = []; hexCharCode.push("0x"); for (var i = 0; i <...
  • 十六进制和ASCII之间的转换 ConvertHexToAsciiAndBack
  • ASCII查询 十六进制转换十进制和ASCII码 有关ASCII的就用它吧!~~
  • Java中二进制、十进制、十六进制ASCII码与String及字节数组与十六进制之间的转换 发表于1年前(2013-03-08 16:05) 阅读(4063) | 评论(0) 19人收藏此文章, 我要收藏 赞1 public class ...
  • ASCII码转16进制 十六进制ASCII码 //ASCII码转16进制 function strToHexCharCode(str) { if (str === “”) { return “”; } else { var hexCharCode = []; hexCharCode.push(“0x”); for (var i = 0; i < ...
  • 十六进制ASCII码的互转(C语言)

    万次阅读 多人点赞 2016-02-29 14:38:06
    十六进制ASCII码的互转(C语言) //函 数 名:CharToHex() //功能描述:把ASCII字符转换为16进制 //函数说明: //调用函数: //全局变量: //输 入:ASCII字符 //返 回:16进制 /**function: CharToHex() ***...
  • 文章链接: https://www.xuebuyuan.com/1990012.html
  • java中十六进制和ASCII码互相转换

    万次阅读 热门讨论 2017-06-01 15:39:53
    System.out.println("\n-----ASCII码转换为16进制 -----"); String str = "POS88884"; System.out.println("字符串: " + str); String hex = strToHex.convertStringToHex(str); System.out.println(...
  • 十六进制ASCII码 unsigned char HexToChar(unsigned char bChar) { if ((bChar >= 0x30) && (bChar <= 0x39)) { bChar -= 0x30; } else if ((bChar >= 0x41) && (bChar <= 0x46)...
  • var a=’11160′; alert(parseInt(a,2)... //将A转换为10进制,然后再转换成16进制 同样也可以是其它进制 下面说下ASCII : function test(){ var a=’ab’; var c=a.charCodeAt(1);//返回98 也就是b的AscI
  • JS中字符问题 二进制/十进制/十六进制ASCII码之间的转换
  • 进制和ASCII码转换

    2021-01-11 09:16:47
    十进制、十六进制、二进制和ASCII码相互转换。编译环境VS2008,项目属性字符集为“未设置”。
  • 十六进制转十进制ASCII码转换工具,自己开发的自认为比较实用,带源代码。
  • System.out.println("\n-----ASCII码转换为16进制 -----"); String str = "POS88884"; System.out.println("字符串: " + str); String hex = strToHex.convertStringToHex(str); System.out.println("转换为16进制...
  • java_js十六进制和ASCII码互相转换

    千次阅读 2016-03-31 13:41:55
    System.out.println("\n-----ASCII码转换为16进制 -----"); String str = "1"; System.out.println("字符串: " + str); String hex = strToHex.convertStringToHex(str); System.out.println("转换为16...
  • 十六进制ASCII码

    千次阅读 2019-04-04 21:03:16
    芯片传回来的数据是以十六进制表示的,但是我想要把这十六进制代表的数据通过UART发送到电脑上表示出来,所以最终要求就是将十六进制表示的数据用ASCII码表示传给电脑。 但是所用的单片机又调不出sprintf函数… ...
  • 二进制十六进制ASCII码表

    千次阅读 2018-09-14 18:26:32
    二进制与十六进制 计算机的数据存储 计算机的数据表示 字符 二进制与十六进制 二进制 ------&gt; 每位只能用0,1表示 二进制到十进制的转换 ------&gt; 110 = 1*2^2 + 1*2^1 + 0*2^0 = 6 十六...
  • 十六进制ASCII码表

    2020-06-08 11:07:54
    十六进制 ACS II 十六进制 ASC II 0 30H A 41H 1 31H B 42H 2 32H C 43H 3 33H D 44H 4 34H E 45H 5 35H F 46H 6 36H 7 37H 8 38H 9 39H

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,212
精华内容 26,084
关键字:

十六进制和ascii码转换