二进制转换文字

二进制转换文字 二进制转文字算法?

二进制转文字算法?

二进制转文字算法?

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)//解码得到汉字 }。

二进制如何转为汉字?

二进制是这么转换成汉字的

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

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

二进制如何转为汉字?

二进制是将汉字编码,然后就可根据编码提取汉字了。

以下代码就可以实现二进制转为汉字:

#includeltstdio.hgt

#includeltconio.hgt

#includeltmath.hgt

#includeltstdlib.hgt

#includeltstring.hgt

int main()

{

char btos[3] = {#39\\0#39}

char b[2][9]

char yon

int item = 0

int i

int j = 0

printf(#34开始执行程序(y/n) :\

#34)

yon = getch()

while(#39y#39 == yon||#39Y#39 == yon){

do{

j = 0

printf(#34请输入第一个二进制字符串 : #34)

scanf(#34\%s#34,b[0])

for(i = 0i lt 8i ){

if(#390#39 != b[0] ampamp #391#39 != b[0]){j = 1

}

}

}while(8 != strlen(b[0]) || 1 == j)

do{

j = 0

printf(#34请输入第二个二进制字符串 : #34)

scanf(#34\%s#34,b[1])

for(i = 0i lt 8i ){

if(#390#39 != b[1] ampamp #391#39 != b[1]){j = 1

}

}

}while(8 != strlen(b[1]) || 1 == j)

for(i = 0i lt 2i ){

for(j = 7j gt= 0j--){

if(#391#39 == b[j]){

item = pow(2,7-j)

}

}

btos = 32767ampitem

item = 0

}

printf(#34该汉字为:\%s\

是否继续(y/n) :\

#34,btos)

yon = getch()

}

return 0

}