任意十进制数转换成ASCII码C语言程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了任意十进制数转换成ASCII码C语言程序相关的知识,希望对你有一定的参考价值。

在做STM32项目,用USART1向上位机传送数据,需要把0~99999999的十进制数转换成ASCII码。哪位大侠有将任意十进制数(0~99999999)转换成ASCII码C语言程序?谢谢。

标准库里有现成的:
#include <stdio.h>
char buf[12]; //32位整型转换为最长10字符,连上符号最长为11
sprintf(buf,"%d",1234567890);

windows下似乎有个itoa在<stdlib.h>中,我没有查证过:
itoa(1234567890,buf,10);//10代表十进制
参考技术A 取每一位数字,然后加上 0x30,就是ASCII码

在LINUX 系统下如何将二进制转换成ASCII码?

在LINUX 系统下如何将二进制转换成ASCII码?
有没有相关转换程序,或SH 转换命令

在线转换器http://www.ab126.com/goju/1711.html

hexdump命令,可以将文件(不光是二进制文件)按各种格式显示,当然包括ASCII。

你可以用这个命令再配合‘>’输入到文件里,就起到转换的效果了。
参考技术A 你干嘛用?

你是想反编译,还是想转换成 7bit 的编码?追问

我描述下背景:我在IBS OS390 上有个VSAM 文件,我需要将它DOWNLOAD 到 一台LINUX系统上,并导入到LINUX下的DB2 Table里面,因我下载采用BIN码下载到LINUX系统里面,(之前我尝试过用ASC下载,视乎不太稳定,之前出现过可以成功导入DB2,但是有时,又不可以导入),故现在,我在导入DB2前,先转成ASCII 格式。

追答

那就 base64 编码呗。
Linux 下面有这个命令,base64 这个命令就是。这个编码方法,好像很多数据库和开发语言都有支持。调用很方便。

Usage: base64 [OPTION]... [FILE]
Base64 encode or decode FILE, or standard input, to standard output.

-d, --decode decode data
-i, --ignore-garbage when decoding, ignore non-alphabet characters
-w, --wrap=COLS wrap encoded lines after COLS character (default 76).
Use 0 to disable line wrapping

--help display this help and exit
--version output version information and exit

With no FILE, or when FILE is -, read standard input.

The data are encoded as described for the base64 alphabet in RFC 3548.
When decoding, the input may contain newlines in addition to the bytes of
the formal base64 alphabet. Use --ignore-garbage to attempt to recover
from any other non-alphabet bytes in the encoded stream.

本回答被提问者采纳
参考技术B od -t c 以ascii码查看。详细的可以查下od命令的用法。

以上是关于任意十进制数转换成ASCII码C语言程序的主要内容,如果未能解决你的问题,请参考以下文章

js中有没有把十六进制数转换成Unicode字符的函数

C语言练习题|将 10 进制数转换成任意进制的数

C语言中ASCII码值是啥意思

c语言怎么求字符的ascii码

在LINUX 系统下如何将二进制转换成ASCII码?

C语言,ASCII码怎么转换为字符?