文字怎么转换成二进制数(二进制和数字文字转换器)

2023-03-03 22:26:10 密语知识 思思

代码 /// ///二进制数据转换为word文件 /// /// 二进制数据 /// word文件名 /// word保存的相对路径 public string ByteConvertWord(byte[] data, string fileName) { string savePath =@"\SystemWord\"+FormatNowTime(2)+@"\"; if (!System.IO.Directory.Exists(GetPath() + savePath)) { Directory.CreateDirectory(GetPath() + savePath); } savePath += fileName + ".doc"; string filePath = GetPath() + savePath; FileStream fs; if (System.IO.File.Exists(filePath)) { fs = new FileStream(filePath,FileMode.Truncate); } else { fs = new FileStream(filePath,FileMode.CreateNew); } BinaryWriter br = new BinaryWriter(fs); br.Write(data, 0, data.Length); br.Close(); fs.Close(); return savePath; } /// /// word文件转换二进制数据(用于保存数据库) /// /// word文件路径 /// 二进制 private byte[] wordConvertByte(string wordPath) { byte[] bytContent = null; System.IO.FileStream fs = null; System.IO.BinaryReader br = null; try { fs = new FileStream(wordPath,System.IO.FileMode.Open); } catch { } br = new BinaryReader((Stream)fs); bytContent = br.ReadBytes((Int32)fs.Length); return bytContent; } /// ///项目所在目录 /// /// public string GetPath() { return Application.StartupPath; } /// ///格式化当前时间: /// 1:yyMMddHHmmss; 2:yyyy-MM\dd\ /// /// public string FormatNowTime(int num) { if (num == 1) { returnDateTime.Now.ToString("yyMMddHHmmss"); } else if (num == 2) { returnDateTime.Now.ToString("yyyy-MM") + @"\" + DateTime.Now.Day; } return ""; } //测试方法 private void button1_Click(object sender,EventArgs e) { string newWord = ByteConvertWord(wordConvertByte(@"D:\测试文件.doc"),"测试成功"); }

二进制如何转为汉字

1. 汉字信息交换码(国标码)

《信息交换用汉字 编码字符集·基本集》是我国于1980年制定的国家标准 GB2312-80,代号为国标码,是国家规定的用于汉字信息处理使用的代码依据。

   GB2312-80中规定了信息交换用的6763个汉字和682个非汉字图形符号(包括几种外文字母、数字和符号)的代码。

6763个汉字又按其 使用频度、组词能力以及用途大小分成一级常用汉字3755个和二级常用汉字3008个。

一级汉字按拼音字母顺序排列;若遇同音字,则 按起笔的笔形顺序排列;若起笔相同,则按第二笔的笔形顺序排列,依次类推。所谓笔形顺序,就是横、竖、撇、点和折的顺序。二级汉字按 部首顺序排列。

在此标准中,每个汉字(图形符号)采用双字节表示。每个字节只用低7位,最高位恒为1。由于低7位中有34种状态是用 于控制字符,因此,只有94(128-34=94)种状态可用于汉字编码。这样,双字节的低7位只能表示94×94=8836种状态。

编码范围

二进制数码

十进制数码

基本 ASCII 码    

00000000~01111111    

0~127  

控制字符    

00000000~00100000、01111111    

0~32、127  

可用汉字段    

00100001~01111110    

33~126 (1~94)  

扩充 ASCII 码    

10000000~11111111    

128~255  

控制字符    

10000000~10100000、11111111    

128~160、255  

GB2312-80    

10100001~11111110    

161~254 (1~94)  

此标准的汉字编码表有94行、94列,其行号称为区号,列号称为位号。双字节中,用 高字节表示区号,低字节表示位号。非汉字图形符号置于第1~11区,一级汉字3755个且于第16~55区,二级汉字3008个置于第56~87区。

每个图形字符的汉字交换码,均用两个字节的低7位二进制码表示。汉字国标码通常用十六进制数表示。

例如:“中”字的区号为 54,位号为48,计算它的二进制数和十六进制数国标码。

解:先将区、位号分别加上 32 :

54+32=86

48+32=80

分别转换为二进制数:

(86)10=01010110

(80)10=0 1010000

得到二进制数国标码为:

01010110 01010000。

最后通过 8 4 2 1 ── 二进制取位法转换成十六 进制汉字国标码为:5650。

又如“国”字的区号为25,位号为90,用以上相同的方法得到它的国标码为:

二进制:00111001 01111010

十六进制:397A

----------------------------------------------------------------

基于以上原则,则

11000100,11100011,10111010,11000011

(1100 0100 1110 0011)2,(1011 1010 1100 0011)2

(C4E3)16,(BAC3)16

查表可知:C4E3‘你’,BAC3‘好’

二进制怎么转换成汉字的!

1、原理

二进制转化为汉字,可以先将二进制转化为16进制,然后再利用16进制和汉字之前的对应关系进行转化。

2、C#版的代码如下

private string BinaryToChinese(string input)

{

    

    StringBuilder sb=new StringBuilder();//建立string

   

     int numOfBytes = input.Length / 8;//计算尾数

   

     byte[] bytes = new byte[numOfBytes];//二进制

    

    for (int i = 0; inumOfBytes; ++i)

    {

        

        bytes[i] = Convert.ToByte(input.Substring(8 * i, 8), 2);//对字符串转成对应二进制

    

    }

    

    return System.Text.Encoding.Unicode.GetString(bytes);//解码得到汉字 

 }

ultraedit软件如何将16进制文本转为二进制

ultraedit软件将16进制文本转为二进制,下面方法可以解决:

选中需要转换的数字,点击右键,选择“数字转换器”,选择需要转换的数字进制。UE会在转换完的数字前后,添加进制标识符号,以免被错。