首页 关于EBCDIC码与ASCII码相互转换

关于EBCDIC码与ASCII码相互转换

举报
开通vip

关于EBCDIC码与ASCII码相互转换关于EBCDIC码与ASCII码相互转换我介绍的方法很巧妙,在网上可以找到C,C,VB等语言写的代码,还么发现C#语言写的,方法几乎差不多。因为做毕业设计,读取SEGY文件的卷头部分的信息和数据,要把SEGY码转化成ASCII,开始不知道具体方法,看着两种编码,实在找不到一种好的转换方法。在网上找了一些代码参考,看到一个用C写的经典方法,在微软帮助里面找到的。之后也参考了用C,VB写的,看了半天没弄明白,用VS2008跟踪调试后,终于弄出了一段代码,解决次问题。一、把EBCDIC转换为ASCII代码:publicc...

关于EBCDIC码与ASCII码相互转换
关于EBCDIC码与ASCII码相互转换我介绍的方法很巧妙,在网上可以找到C,C,VB等语言写的代码,还么发现C#语言写的,方法几乎差不多。因为做毕业 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 ,读取SEGY文件的卷头部分的信息和数据,要把SEGY码转化成ASCII,开始不知道具体方法,看着两种编码,实在找不到一种好的转换方法。在网上找了一些代码参考,看到一个用C写的经典方法,在微软帮助里面找到的。之后也参考了用C,VB写的,看了半天没弄明白,用VS2008跟踪调试后,终于弄出了一段代码,解决次问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 。一、把EBCDIC转换为ASCII代码:publicclassChString{conststringC_EBCDIC2ASCII="000102039C09867F978D8E0B0C0D0E0F101112139D8508871819928F1C1D1E1F""20818283840A171B88898A8B8C960498999A9B14159E1A""20A0A1A2A3A4A5A6A7A8D52E3C282B7C26A9AAABACADAEAFB0B121242A293B5E""2D2FB2B3B4B5B6B7B8B9E52C255F3E3FBABBBCBDBEBFC0C1C2603A2340273D22""C9C4C5C6C7C8C9CA6A6B6C6D6E6F707172CBCCCDCECFD0""D17EAD2D3D45BD6D7D8D9DADBDCDDDEDFE0E1E2E3E45DE6E7""7BE8E9EAEBECED7D4A4B4C4D4E4F505152EEEFF0F1F2F3""5C9FAF4F5F6F7F8F839FAFBFCFDFEFF";publicstaticstringEBCDIC2ASCII(intebcdic){strings=C_EBCDIC2ASCII.Substring(ebcdic*2,2);charc=Convert.ToChar(Convert.ToInt16(s,16));if(c>='')returnc.ToString();elsereturn"";}}解析:上面定义的字符串C_EBCDIC2ASCII的长度为512,每两个字符(下标为2*n,2*n1)表示一个16进制的数,用方法Substring(ebcdic*2,2)提取这两个字符,并转化为Int16类型的十进制,再转化为ASCII对应的Char类型数据。巧妙之处在于:假设整数n(0~255)为EBCDIC对应的值,在下标为2*n,2*n1的两个字符用来表示16进制的两个位(分别为高位,低位),而这个16进制正好为EBCDIC对应的字符的16进制表示(EBCDIC数据还是按ASCII码读取)。FileStreamfs=File.Open(filePath,FileMode.Open,FileAccess.Read,FileShare.Read);BinaryReaderbr=newBinaryReader(fs,Encoding.ASCII);fs.Seek(0,SeekOrigin.Begin);string sLine=ChString.EBCDIC2ASCII(ebcdic);二、把ASCII转换为EBCDIC:同上类似:conststringC_ASCII2EBCDIC="00010203372D2E2F1605250B0C0D0E0F101112133C3D322618193F271C1D1E1F""405A7F7B5B6C507D4D5D5C4E6B604B61F0F1F2F3F4F5F6F7F8F97A5E4C7E6E6F""7CC1C2C3C4C5C6C7C8C9D1D2D3D4D5D6D7D8D9E2E3E4E5E6E7E8E9ADE0BD5F6D""99A2A3A4A5A6A7A8A9C04FD0A107""292A2B2C090A1B30311AA3B04143EE1""7172737475""767778808A8B8C8D8E8F909A9B9C9D9E9FA0AAABAC4AAEAFB0B1B2B3B4B5B6B7""B8B9BABBBC6ABEBFCACBCCCDCECFDADBDCDDDEDFEAEBECEDEEEFFAFBFCFDFEFF";publicstaticstringASCII2EBCDIC(intascii){strings=C_ASCII2EBCDIC.Substring(ascii*2,2);charc=Convert.ToChar(Convert.ToInt16(s,16));returnc.ToString();}
本文档为【关于EBCDIC码与ASCII码相互转换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_654168
暂无简介~
格式:doc
大小:16KB
软件:Word
页数:5
分类:
上传时间:2022-08-05
浏览量:22