如下代码,将字符串 “fcode.cn” 转换成 EBCDIC 编码,然后再转换回来。执行后输出为:

fcode.cn

唭杽匥儠

fcode.cn

Program www_fcode_cn

Implicit None

Character(len=8) :: str = "fcode.cn"

write(*,*) str

call ASCII2EBCDIC( str )

write(*,*) str

call EBCDIC2ASCII( str )

write(*,*) str

End Program www_fcode_cn

Subroutine EBCDIC2ASCII( buffer )

! Map a block of EBCDIC characters to ASCII

! modify from : eamap @ L. Weissman Mar. 1980

Implicit None

Integer , parameter :: ebcdic(256) = [ &

32,1,2,3,32,9,32,127,32,32,32,11,12,13,14,15, &

16,17,18,19,32,32,8,32,24,25,32,32,28,29,30,31, &

32,32,32,32,32,10,23,27,32,32,32,32,32,5,6,7,32, &

32,22,32,32,32,32,4,32,32,32,32,20,21,32,26,32, &

32,32,32,32,32,32,32,32,32,32,46,60,40,43,124,38, &

32,32,32,32,32,32,32,32,32,33,36,42,41,59,94,45, &

47,32,32,32,32,32,32,32,32,124,44,37,95,62,63,32, &

32,32,32,32,32,32,32,32,96,58,35,64,39,61,34,32, &

97,98,99,100,101,102,103,104,105,32,123,32,40,43, &

32,32,106,107,108,109,110,111,112,113,114,32,125, &

32,41,32,32,32,126,115,116,117,118,119,120,121,122,&

32,32,32,91,32,32,32,32,32,32,32,32,32,32,32,32, &

32,32,32,93,32,45,123,65,66,67,68,69,70,71,72,73, &

32,32,32,32,32,32,125,74,75,76,77,78,79,80,81,82, &

32,32,32,32,32,32,92,32,83,84,85,86,87,88,89,90, &

32,32,32,32,32,32,48,49,50,51,52,53,54,55,56,57, &

124,32,32,32,32,32]

Character(Len=*) buffer

integer :: i , l

If (len(buffer)<=0) Return

Do i = 1, len(buffer)

l = ichar(buffer(i:i))

If (l<0) l = l + 256

l = ebcdic(l+1)

If (l>127) l = l - 256

buffer(i:i) = char(l)

End Do

End Subroutine EBCDIC2ASCII

Subroutine ASCII2EBCDIC( buffer )

! Map a block of ASCII characters to EBCDIC

! modify from : aemap @ L. Weissman Mar 1981

Integer , parameter :: ebcdic(128) = [ &

0,1,2,3,55,45,46,47,22,5,37,11,12,13,14,15,16,17, &

18,19,60,61,50,38,24,25,63,39,34,29,53,31,64,90, &

127,123,91,108,80,125,77,93,92,78,107,96,75,97,240,&

241,242,243,244,245,246,247,248,249,122,94,76,126, &

110,111,124,193,194,195,196,197,198,199,200,201, &

209,210,211,212,213,214,215,216,217,226,227,228, &

229,230,231,232,233,74,224,79,95,109,121,129,130, &

131,132,133,134,135,136,137,145,146,147,148,149, &

150,151,152,153,162,163,164,165,166,167,168,169, &

192,106,208,161,255]

Character(len=*) buffer

If (len(buffer)<=0) Return

Do i = 1, len(buffer)

l = ichar(buffer(i:i))

If (l<0) l = l + 256

l = ebcdic(l+1)

If (l>127) l = l - 256

buffer(i:i) = char(l)

End Do

End Subroutine ASCII2EBCDIC

计算机编程ebcdic码,EBCDIC 与 ASCII 编码相互转换相关推荐

  1. 计算机编程种常见的几种编码详解

    计算机编程种常见的几种编码详解 其实计算机编程离不开编码 但是大多数都不能真正全面了解各种编码 今天就来好好和几位编码熟悉熟悉 一.字符.字符集和字符编码方式 字符:字符是抽象的最小文本单位.它没有固 ...

  2. 计算机编程ebcdic码,EBCDIC和BCD码

    EBCDIC EBCDIC(Extended Binary Coded Decimal Interchange Code)(扩展二进制编码的十进制交换码),是字母或数字字符的二进制编码,是 IBM 专 ...

  3. Python 入门 26 —— ASCII 编码、Unicode 编码、 UTF-32、 UTF-16、 UTF-8、 GB2312 编码、 GBK 编码

    计算机存储和处理信息都是以一个8位的二进制字节为单位的,例如:0b 1111 0000.一个字母.汉字等如何用一个二进制的数(编码)来表示呢.在计算机发展初期,因为没有人能预料到计算机会有现在这么大的 ...

  4. java基础-ascii编码

    小伙伴们,你们好呀!我是老寇! 我们都知道计算机只能理解二进制码,一个二进制位(bit)只有0或1两种状态,而一个字节(byte)由8个二进制位组成,因此有256种组合,即00000000 ~ 111 ...

  5. java ebcdic编码转换_JAVA实现ASCII码与EBCDIC码的相互转换

    import java.io.*; public class coder{ /** * ASCII码对应表 */ private static final String [] ASCII={ &quo ...

  6. ebcdic编码与ascII编码互转

    1:ebcdic编码转ascII编码...... char e2a[256] =       {         0,  1,  2,  3,(char)156,  9,(char)134,127,( ...

  7. ASCII编码,将英文存储到计算机

    前面我们已经讲到,计算机是以二进制的形式来存储数据的,它只认识 0 和 1 两个数字,我们在屏幕上看到的文字,在存储之前都被转换成了二进制(0和1序列),在显示时也要根据二进制找到对应的字符. 可想而 ...

  8. EBCDIC 与 GBK 的字符编码及其转换(转)

    概览 有些用户在使用 AIX 时在字符编码方面遇到一些困惑,请看下面的场景: 1,用户用从 AIX 利用 FTP 客户端登录上 IBM i,切换到某个 Library/File,然后 get 其中的某 ...

  9. 【python教程入门学习】ASCII编码,将英文存储到计算机

    前面我们已经讲到,计算机是以二进制的形式来存储数据的,它只认识 0 和 1 两个数字,我们在屏幕上看到的文字,在存储之前都被转换成了二进制(0和1序列),在显示时也要根据二进制找到对应的字符. 可想而 ...

最新文章

  1. WF4.0实战(六):控制WPF动画
  2. plotly可视化绘制多子图(subplots)共享坐标轴
  3. 卡尔曼滤波的优点总结
  4. 6的变换_FPGA时序结构的LBT变换控制器设计
  5. 使用PlanAhead查看Virtex-7系列FPGA的底层架构
  6. 规避软件架构风险之反模式
  7. 【ElasticSearch】IK分词加入标点符号
  8. 高光谱图像结合机器学习方法无损检测猕猴桃
  9. Octavia 加速 OpenStack LBaaS 落地大规模应用场景
  10. 【显卡天梯图】2014年最新显卡天梯图 – 【迄今最全系列显卡】
  11. c++编游戏-扫雷-c++游戏将彩色化-windows7自带扫雷游戏休闲娱乐
  12. 地震管家(全球地震信息)
  13. 当马队遭遇狼群,阿里华为长篇竞合剧基情开幕
  14. 谈谈人们常说的“一时糊涂,鬼迷心窍”!
  15. Hive 连接 secured ES 踩坑日记
  16. JAVA快递单号查询接口对接教程【快递鸟DEMO】
  17. 计算机管理无法连接虚拟磁盘服务,win10系统电脑打开磁盘管理出现“无法连接虚拟磁盘服务”的教程...
  18. 【分享-免费OCR工具 在线+移动端】免费在线图片多国文字识别
  19. 基于SSH的校园二手物品交易系统
  20. UV-LED点光源,厂家,UVLED点光源日本日亚UV灯珠,3W,365nm,6mm透镜,沃客密科技

热门文章

  1. python备份虚拟环境
  2. gitee自动部署的使用
  3. PLSQL Developer 安装与配置
  4. Java多线程:线程停止
  5. python中静态方法存在的意义
  6. jQuery模板和数据绑定
  7. ReportViewer教程(15)-矩阵报表-4
  8. 漫步最优化七——介绍
  9. 自然语言处理中的语言模型与预训练技术的总结
  10. web.config文件访问物理路径_计算机操作系统学习笔记(五):文件管理