怎样将二进制转ascii码
例如0100,0010B转化成ASCII码是多少?那如果其十进制大于128呢?例如十进制是139的ASCII码是多少呢?...
例如 0100,0010B 转化成ASCII码是多少?
那如果其十进制大于128呢?例如十进制是139的ASCII码是多少呢? 展开
那如果其十进制大于128呢?例如十进制是139的ASCII码是多少呢? 展开
推荐于2018-04-13
展开全部
可以使用brief 该函数实现转换,具体参考如下:
/**
* @brief 该函数实现了将二进制字节数据转换为可打印ASCII码字符串
* @param[in] pSrc 源数据指针
* @param[in] nSrcLength 源数据长度
* @param[out] pDst 目标字符串指针
* @return 目标字符串长度
* @author wlq_729@163.com
* http://blog.csdn.net/rabbit729
* @version 1.0
* @date 2009-02-25
*/
#include <assert.h>
#include <iostream>
using namespace std;
int BinaryBytes2String1(const unsigned char* pSrc, unsigned int nSrcLength, char* pDst)
{
if ( pSrc == 0 || pDst == 0 )
return 0;
char* p = pDst;
for ( unsigned i = 0; i < nSrcLength; i++ )
{
*p = (pSrc[i] >> 4) & 0x0f;
*p += *p < 10 ? 0x30 : (0x61 - 10);
p++;
*p = pSrc[i] & 0x0f;
*p += *p < 10 ? 0x30 : (0x61 - 10);
p++;
}
*p = '/0';
return nSrcLength * 2;
}
int BinaryBytes2String2(const unsigned char* pSrc, unsigned int nSrcLength, char* pDst )
{
if ( pSrc == 0 || pDst == 0 )
return 0;
const char tab[]="0123456789abcdef";
for(int i=0; i<nSrcLength; i++)
{
*pDst++ = tab[*pSrc >> 4];
*pDst++ = tab[*pSrc & 0x0f];
pSrc++;
}
*pDst = '/0';
return nSrcLength * 2;
}
int BinaryBytes2String3(const unsigned char* pSrc, int nSrcLength, char* pDst)
{
if ( pSrc == 0 || pDst == 0 )
return 0;
for (int i = 0; i < nSrcLength; i++)
{
sprintf(pDst, "%02x", *pSrc);
pDst++;
pDst++;
pSrc++;
}
*pDst = '/0';
return nSrcLength * 2;
}
void main(void)
{
unsigned char test[3] = {0x23, 0xa4, 0xB7};
char result[7];
memset(result, 0, 7);
BinaryBytes2String1(test, 3, result);
cout<<result<<endl;
BinaryBytes2String2(test, 3, result);
cout<<result<<endl;
BinaryBytes2String3(test, 3, result);
cout<<result<<endl;
/**
* @brief 该函数实现了将二进制字节数据转换为可打印ASCII码字符串
* @param[in] pSrc 源数据指针
* @param[in] nSrcLength 源数据长度
* @param[out] pDst 目标字符串指针
* @return 目标字符串长度
* @author wlq_729@163.com
* http://blog.csdn.net/rabbit729
* @version 1.0
* @date 2009-02-25
*/
#include <assert.h>
#include <iostream>
using namespace std;
int BinaryBytes2String1(const unsigned char* pSrc, unsigned int nSrcLength, char* pDst)
{
if ( pSrc == 0 || pDst == 0 )
return 0;
char* p = pDst;
for ( unsigned i = 0; i < nSrcLength; i++ )
{
*p = (pSrc[i] >> 4) & 0x0f;
*p += *p < 10 ? 0x30 : (0x61 - 10);
p++;
*p = pSrc[i] & 0x0f;
*p += *p < 10 ? 0x30 : (0x61 - 10);
p++;
}
*p = '/0';
return nSrcLength * 2;
}
int BinaryBytes2String2(const unsigned char* pSrc, unsigned int nSrcLength, char* pDst )
{
if ( pSrc == 0 || pDst == 0 )
return 0;
const char tab[]="0123456789abcdef";
for(int i=0; i<nSrcLength; i++)
{
*pDst++ = tab[*pSrc >> 4];
*pDst++ = tab[*pSrc & 0x0f];
pSrc++;
}
*pDst = '/0';
return nSrcLength * 2;
}
int BinaryBytes2String3(const unsigned char* pSrc, int nSrcLength, char* pDst)
{
if ( pSrc == 0 || pDst == 0 )
return 0;
for (int i = 0; i < nSrcLength; i++)
{
sprintf(pDst, "%02x", *pSrc);
pDst++;
pDst++;
pSrc++;
}
*pDst = '/0';
return nSrcLength * 2;
}
void main(void)
{
unsigned char test[3] = {0x23, 0xa4, 0xB7};
char result[7];
memset(result, 0, 7);
BinaryBytes2String1(test, 3, result);
cout<<result<<endl;
BinaryBytes2String2(test, 3, result);
cout<<result<<endl;
BinaryBytes2String3(test, 3, result);
cout<<result<<endl;
展开全部
ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于罗马字母表的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统。
控制字符
二进制 十进制 十六进制 缩写 可以显示的表示法 名称/意义
0000 0000 0 00 NUL ␀ Null character
0000 0001 1 01 SOH ␁ Start of Header
0000 0010 2 02 STX ␂ Start of Text
0000 0011 3 03 ETX ␃ End of Text
0000 0100 4 04 EOT ␄ End of Transmission
0000 0101 5 05 ENQ ␅ Enquiry
0000 0110 6 06 ACK ␆ Acknowledgment
0000 0111 7 07 BEL ␇ Bell
0000 1000 8 08 BS ␈ Backspace
0000 1001 9 09 HT ␉ Horizontal Tab
0000 1010 10 0A LF ␊ 换行键
0000 1011 11 0B VT ␋ Vertical Tab
0000 1100 12 0C FF ␌ 换页键
0000 1101 13 0D CR ␍ 回车键
0000 1110 14 0E SO ␎ Shift Out
0000 1111 15 0F SI ␏ Shift In
0001 0000 16 10 DLE ␐ Data Link Escape
0001 0001 17 11 DC1 ␑ XON Device Control 1
0001 0010 18 12 DC2 ␒ Device Control 2
0001 0011 19 13 DC3 ␓ XOFF Device Control 3
0001 0100 20 14 DC4 ␔ Device Control 4
0001 0101 21 15 NAK ␕ Negative Acknowledgement
0001 0110 22 16 SYN ␖ Synchronous Idle
0001 0111 23 17 ETB ␗ End of Trans. Block
0001 1000 24 18 CAN ␘ Cancel
0001 1001 25 19 EM ␙ End of Medium
0001 1010 26 1A SUB ␚ Substitute
0001 1011 27 1B ESC ␛ Escape
0001 1100 28 1C FS ␜ File Separator
0001 1101 29 1D GS ␝ Group Separator
0001 1110 30 1E RS ␞ Record Separator
0001 1111 31 1F US ␟ Unit Separator
0111 1111 127 7F DEL ␡ Delete
可显示字符
二进制 十进制 十六进制 图形
0010 0000 32 20 (空格) (␠)
0010 0001 33 21 !
0010 0010 34 22 "
0010 0011 35 23 #
0010 0100 36 24 $
0010 0101 37 25 %
0010 0110 38 26 &
0010 0111 39 27 '
0010 1000 40 28 (
0010 1001 41 29 )
0010 1010 42 2A *
0010 1011 43 2B +
0010 1100 44 2C ,
0010 1101 45 2D -
0010 1110 46 2E .
0010 1111 47 2F /
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 50 32 2
0011 0011 51 33 3
0011 0100 52 34 4
0011 0101 53 35 5
0011 0110 54 36 6
0011 0111 55 37 7
0011 1000 56 38 8
0011 1001 57 39 9
0011 1010 58 3A :
0011 1011 59 3B ;
0011 1100 60 3C <
0011 1101 61 3D =
0011 1110 62 3E >
0011 1111 63 3F ?
Binary Decimal Hex Graphic
0100 0000 64 40 @
0100 0001 65 41 A
0100 0010 66 42 B
0100 0011 67 43 C
0100 0100 68 44 D
0100 0101 69 45 E
0100 0110 70 46 F
0100 0111 71 47 G
0100 1000 72 48 H
0100 1001 73 49 I
0100 1010 74 4A J
0100 1011 75 4B K
0100 1100 76 4C L
0100 1101 77 4D M
0100 1110 78 4E N
0100 1111 79 4F O
0101 0000 80 50 P
0101 0001 81 51 Q
0101 0010 82 52 R
0101 0011 83 53 S
0101 0100 84 54 T
0101 0101 85 55 U
0101 0110 86 56 V
0101 0111 87 57 W
0101 1000 88 58 X
0101 1001 89 59 Y
0101 1010 90 5A Z
0101 1011 91 5B [
0101 1100 92 5C \
0101 1101 93 5D ]
0101 1110 94 5E ^
0101 1111 95 5F _
控制字符
二进制 十进制 十六进制 缩写 可以显示的表示法 名称/意义
0000 0000 0 00 NUL ␀ Null character
0000 0001 1 01 SOH ␁ Start of Header
0000 0010 2 02 STX ␂ Start of Text
0000 0011 3 03 ETX ␃ End of Text
0000 0100 4 04 EOT ␄ End of Transmission
0000 0101 5 05 ENQ ␅ Enquiry
0000 0110 6 06 ACK ␆ Acknowledgment
0000 0111 7 07 BEL ␇ Bell
0000 1000 8 08 BS ␈ Backspace
0000 1001 9 09 HT ␉ Horizontal Tab
0000 1010 10 0A LF ␊ 换行键
0000 1011 11 0B VT ␋ Vertical Tab
0000 1100 12 0C FF ␌ 换页键
0000 1101 13 0D CR ␍ 回车键
0000 1110 14 0E SO ␎ Shift Out
0000 1111 15 0F SI ␏ Shift In
0001 0000 16 10 DLE ␐ Data Link Escape
0001 0001 17 11 DC1 ␑ XON Device Control 1
0001 0010 18 12 DC2 ␒ Device Control 2
0001 0011 19 13 DC3 ␓ XOFF Device Control 3
0001 0100 20 14 DC4 ␔ Device Control 4
0001 0101 21 15 NAK ␕ Negative Acknowledgement
0001 0110 22 16 SYN ␖ Synchronous Idle
0001 0111 23 17 ETB ␗ End of Trans. Block
0001 1000 24 18 CAN ␘ Cancel
0001 1001 25 19 EM ␙ End of Medium
0001 1010 26 1A SUB ␚ Substitute
0001 1011 27 1B ESC ␛ Escape
0001 1100 28 1C FS ␜ File Separator
0001 1101 29 1D GS ␝ Group Separator
0001 1110 30 1E RS ␞ Record Separator
0001 1111 31 1F US ␟ Unit Separator
0111 1111 127 7F DEL ␡ Delete
可显示字符
二进制 十进制 十六进制 图形
0010 0000 32 20 (空格) (␠)
0010 0001 33 21 !
0010 0010 34 22 "
0010 0011 35 23 #
0010 0100 36 24 $
0010 0101 37 25 %
0010 0110 38 26 &
0010 0111 39 27 '
0010 1000 40 28 (
0010 1001 41 29 )
0010 1010 42 2A *
0010 1011 43 2B +
0010 1100 44 2C ,
0010 1101 45 2D -
0010 1110 46 2E .
0010 1111 47 2F /
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 50 32 2
0011 0011 51 33 3
0011 0100 52 34 4
0011 0101 53 35 5
0011 0110 54 36 6
0011 0111 55 37 7
0011 1000 56 38 8
0011 1001 57 39 9
0011 1010 58 3A :
0011 1011 59 3B ;
0011 1100 60 3C <
0011 1101 61 3D =
0011 1110 62 3E >
0011 1111 63 3F ?
Binary Decimal Hex Graphic
0100 0000 64 40 @
0100 0001 65 41 A
0100 0010 66 42 B
0100 0011 67 43 C
0100 0100 68 44 D
0100 0101 69 45 E
0100 0110 70 46 F
0100 0111 71 47 G
0100 1000 72 48 H
0100 1001 73 49 I
0100 1010 74 4A J
0100 1011 75 4B K
0100 1100 76 4C L
0100 1101 77 4D M
0100 1110 78 4E N
0100 1111 79 4F O
0101 0000 80 50 P
0101 0001 81 51 Q
0101 0010 82 52 R
0101 0011 83 53 S
0101 0100 84 54 T
0101 0101 85 55 U
0101 0110 86 56 V
0101 0111 87 57 W
0101 1000 88 58 X
0101 1001 89 59 Y
0101 1010 90 5A Z
0101 1011 91 5B [
0101 1100 92 5C \
0101 1101 93 5D ]
0101 1110 94 5E ^
0101 1111 95 5F _
参考资料: www.lesigui.cn
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
英文字母:B(大写的)
125是:}
对下是ASCII表,对照看看吧
27 ESC 32 SPACE 33 ! 34 "
35 # 36 $ 37 % 38 &
39 ' 40 ( 41 ) 42 *
43 + 44 ' 45 - 46 .
47 / 48 0 49 1 50 2
51 3 52 4 53 5 54 6
55 7 56 8 57 9 58 :
59 ; 60 < 61 = 62 >
63 ? 64 @ 65 A 66 B
67 C 68 D 69 E 70 F
71 G 72 H 73 I 74 J
75 K 76 L 77 M 78 N
79 O 80 P 81 Q 82 R
83 S 84 T 85 U 86 V
87 W 88 X 89 Y 90 Z
91 [ 92 \ 93 ] 94 ^
95 _ 96 ` 97 a 98 b
99 c 100 d 101 e 102 f
103 g 104 h 105 i 106 j
107 k 108 l 109 m 110 n
111 o 112 p 113 q 114 r
115 s 116 t 117 u 118 v
119 w 120 x 121 y 122 z
123 { 124 | 125 } 126 ~
125是:}
对下是ASCII表,对照看看吧
27 ESC 32 SPACE 33 ! 34 "
35 # 36 $ 37 % 38 &
39 ' 40 ( 41 ) 42 *
43 + 44 ' 45 - 46 .
47 / 48 0 49 1 50 2
51 3 52 4 53 5 54 6
55 7 56 8 57 9 58 :
59 ; 60 < 61 = 62 >
63 ? 64 @ 65 A 66 B
67 C 68 D 69 E 70 F
71 G 72 H 73 I 74 J
75 K 76 L 77 M 78 N
79 O 80 P 81 Q 82 R
83 S 84 T 85 U 86 V
87 W 88 X 89 Y 90 Z
91 [ 92 \ 93 ] 94 ^
95 _ 96 ` 97 a 98 b
99 c 100 d 101 e 102 f
103 g 104 h 105 i 106 j
107 k 108 l 109 m 110 n
111 o 112 p 113 q 114 r
115 s 116 t 117 u 118 v
119 w 120 x 121 y 122 z
123 { 124 | 125 } 126 ~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询