当前位置:  技术问答>linux和unix

ASCII/ANSI转字符串的问题

    来源: 互联网  发布时间:2017-03-10

    本文导语:  我在Shell下取得字符串"41 42 43 44 ..."(所获取的数据均属于ASCII/ANSI相同部分),现在企图把这个字符串转换成"ABCD...",网上找得一段代码: #!/bin/sh   hex2oct() {     echo "obase=8; ibase=16; $1" | bc } printf \`hex2oct 41`...

我在Shell下取得字符串"41 42 43 44 ..."(所获取的数据均属于ASCII/ANSI相同部分),现在企图把这个字符串转换成"ABCD...",网上找得一段代码:

#!/bin/sh
 
hex2oct()
{
    echo "obase=8; ibase=16; $1" | bc
}

printf \`hex2oct 41`


这段代码能正确显示ASCII码41的字符串A,但是当遇到多个ASCII码放在一起的时候,我实在不知道怎么拆分再转换再拼接起来,而且我需要把返回结果存在一个变量里面供再使用,也不知道这个printf能不能满足要求。

本人初学Linux和Shell,希望大家不吝赐教!谢谢!

|
lz 有这么多勋章,真厉害。
根据 lz 现有的代码做更改:
[nicenight@CSDN ~]# ./test.sh 
A B C D
[nicenight@CSDN ~]# cat test.sh 
#!/bin/sh

hex2char()
{
    printf \$(echo "obase=8; ibase=16; $1" | bc)
}

function test()
{
    local str

    for i in $@
    do
        str="$str $(hex2char $i)"
    done

    echo $str
}

a="41 42 43 44"
b=$(test $a)

|

#!/usr/bin/perl -w

use strict;
use warnings;

my $buf;
my $fmt;

$buf = "41 42 43 44";
$buf =~ s/ //g; 
$fmt = sprintf("H[%d]", length($buf));
print pack($fmt, $buf), "n";

|
使用ghex打开个文本(注意非空)
$ghex test
把16进制贴在左边,右边马上就转换完成
ctrl+s保存
打开test后为转换后字符

    
 
 

您可能感兴趣的文章:

  • 在c中如何将一个字符串转化成相应的ascii值
  • 如何把ascii值转化成字符,字符串中如何包含一个双引号?
  • C#中使用强制类型实现字符串和ASCII码之间的转换
  • Android字符串转Ascii码实例代码
  • socket中,从client端(用java编写的)传到server端(用c编写的)的字符串为何总多一个ASCII码为10的字符呀?
  • java中如何将ascII 码转换成字符以及将字符转换成ascII码? 在线等待加分!
  • 如何输出所有的ASCII码或Unicode字符?如何得到a,b等的ASCII码或Unicode?
  • 图像转ASCII字符拼图 Jitac
  • 一个小问题:如何将一个char字符转换为相应的ASCII码值?
  • 在Java中如何取得一个字符的ASCII码值?
  • 利用ascii码传输xml转义字符示例
  • 怎样将ascii码转换为字符
  • java字符如何得到它的ASCII值?
  • UNIX下如何得到某个字符的ascii码。
  • 请问我在linux中,用什么命令能得到字符的10进制的ascii值?
  • 如何输出所有的ASCII码或Unicode字符?如何得到a,b等的ASCII码或Unicode? iis7站长之家
  • 如何将得到一个字符的ASCII码?
  • php小技巧之过滤ascii控制字符
  • 怎样把一个字符转换成ASCII码?
  • UNIX/LINUX系统如何获取字符的ASCII?
  • 如何转换ASCII玛和字符(马上给分)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于ASCII码的转换问题
  • unicode转换为ascii 的问题
  • java命名空间javax.print类docflavor.url的类成员方法: text_html_us_ascii定义及介绍
  • Linux中的文本文件都是ASCII格式码吗? 中文怎么用ASCII格式码来存?
  • java命名空间javax.print类docflavor.url的类成员方法: text_plain_us_ascii定义及介绍
  • 怎样用ASCII码? String+ASCII 0x01+String,形成 byte[]
  • java命名空间javax.sql.rowset类baserowset的类成员方法: ascii_stream_param定义及介绍
  • 如何将ASCII码转换为8859-1的编码的String 急急
  • java命名空间javax.print类docflavor.byte_array的类成员方法: text_plain_us_ascii定义及介绍
  • java 中的ASCII码转换的写法。
  • java命名空间javax.print类docflavor.byte_array的类成员方法: text_html_us_ascii定义及介绍
  • UNIX怎样处理ASCII文件与文本文件
  • java命名空间javax.print类docflavor.input_stream的类成员方法: text_html_us_ascii定义及介绍
  • Ascii Design
  • java命名空间javax.print类docflavor.input_stream的类成员方法: text_plain_us_ascii定义及介绍
  • JAVA如何将一个字母变成他的ASCII值啊?
  • java命名空间java.net类idn的类成员方法: use_std3_ascii_rules定义及介绍
  • 怎样获得一个汉字的ASCII码?我得到的是Unicode码:(
  • 在UNIX下如何将ASCII码转换成UNICODE码,急!急!急!急!
  • 请问在Java中^Z的ASCII码是多少?
  • 谁能告诉我回车的ascii码是多少?(10进制的)
  • Unix下的C 如何将Ascii转为BCD码
  • convert an ASCII string into an integer C++或JAVA都行


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3