用宏实现HEX到ASCII ,ASCII 到HEX

#define HEX2ASCII(value, data)  do{  \            value = (value > 0x09)?(value+0x7):value; \            *data = value + 0x30; \           }while(0)

#define ASCII2HEX(value, data)  do{  \            value = *data; \            value = (value > 0x40)?(value - 0x7):value; \           }while(0)

时间: 2024-08-14 01:40:36

用宏实现HEX到ASCII ,ASCII 到HEX的相关文章

ascii#ascii,对象类中找__repr__,获取其返回值

1 #!/usr/bin/env python 2 #ascii,对象类中找__repr__,获取其返回值 3 class Foo : 4 def __repr__(self): 5 return "hello" 6 7 obj = Foo() 8 r = ascii(obj) 9 print(r )

16进制串hex与ASCII字符串相互转换

提供两个函数,方便十六进制串与ASCII 字符串之间的相互转换,使用函数需要注意的是返回的串是在堆上通过 calloc 分配的,所以,记得使用完返回值释放该块,并且将指向该块的指针 =NULL . char *chstohex ( char* chs ) { char hex[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8','9', 'A', 'B', 'C', 'D', 'E', 'F' }; int len = strlen ( chs

ASCII与HEX对照转换表

最近在研究ESC/POS 打印指令,时不时的就用到 ASCII和Hex的相互转换 ASCII HEX ASCII HEX ASCII HEX ASCII HEX NUL 00 DEL 10 Space 20 0 30 SOH 01 DC1 11 ! 21 1 31 STX 02 DC2 12 " 22 2 32 ETX 03 DC3 13 # 23 3 33 EOT 04 DC4 14 $ 24 4 34 ENQ 05 NAK 15 % 25 5 35 ACK 06 SYN 16 & 2

ascii characters switch

ascii = {} ascii[' '] = ' ' ascii['!'] = '!' ascii['"'] = '\"' ascii['#'] = '#' ascii['$'] = '$' ascii['%'] = '%' ascii['&'] = '&' ascii['''] = '\'' ascii['('] = '(' ascii[')'] = ')' ascii['*'] = '*' ascii['+'] = '+' ascii[','] = ',' asc

Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(一)

package com.android.filebrowser; import java.io.*; import java.net.*; public class FileEncodingDetect { static final int GB2312 = 0; static final int ASCII = 1; static final int UTF8 = 2; static final int UNICODE = 3; //static final int GBK = 4; //st

ASCII 码对应表

Macron symbol ASCII CODE 238 : HTML entity : [ Home ][ español ] What is my IP address ? your public IP address is: 118.163.184.243 ASCII control characters 00NULL(Null character) 01SOH(Start of Header) 02STX(Start of Text) 03ETX(End of Text) 04EOT(E

Android中检測字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(一)

package com.android.filebrowser; import java.io.*; import java.net.*; public class FileEncodingDetect { static final int GB2312 = 0; static final int ASCII = 1; static final int UTF8 = 2; static final int UNICODE = 3; //static final int GBK = 4; //st

ASCII、ANSI、Unicode编码

3.1 ASCII编码 以下来自"维基百科": ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统.它主要用于显示现代英语,而其扩展版本EASCII则可以勉强显示其他西欧语言.它是现今最通用的单字节编码系统(但是有被UniCode追上的迹象),并等同于国际标准ISO/IEC 646. ASCII第一次以规范标准的型态发表是在1967年,最后一次更新则是在1986年,至今

深入编解码:ASCII,UNICODE,UTF8等

ASCII ASCII = American Standard Code for Information Interchange(美国信息交换标准码) 美国最先有了计算机技术,计算机里面只有01,也就是数字,要用数字代表附号,所以需要制定一张数字附号对应表. 所以美国就自己定义了一张表,也就是ascii表,用7位bit代表一个附号,最多表示128个附号. Unicode 很快,其他国家的不同附号都要登场,就需要扩展附号表,起初是各个国家各自扩展,各自为政,结果混在一起就乱码, 于是就统一制定了U

常用字符集编码详解:ASCII 、GB2312、GBK、GB18030、UTF-8、unicode

ASCII ASCII码是7位编码,编码范围是0x00-0x7F.ASCII字符集包括英文字母.阿拉伯数字和标点符号等字符.其中0x00-0x20和0x7F共33个控制字符.只支持ASCII码的系统会忽略每个字节的最高位,只认为低7位是有效位.HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码.早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用BASE64或者其他编码方式.GB2312 GB2312是基于区位码设计的,区位码把编码表分为94个区,每个区对应94