如何将二进制 变成中文??
最近 做毕业设计, 碰到一个问题:
有篇中文文章 : 这几天颇不宁静.......
我是 在 控制台下做的,我先打开文本
-----------------
ifstream fin.open(.....);
char ch;
while(fin)
{
fin>>ch;
int m=(int)ch;
char_to_binary( m);----将其转换为二进制
}
......
--------------
这样 "这" 字 输出 二进制为 : 0000111100001111 (假设)
现在我想把他变回 为 "这" 字 ,怎么办啊????
我有个想法就是 直接取出16位输出,可是不行.....
注:不要用api函数
问题点数:80、回复次数:11Top
1 楼blh(当你不割肉时,你的损失只是个数字,当你割肉时,你的损失就是你的肉)回复于 2006-03-21 18:19:43 得分 20
在计算机内存中的数据就是按照二进制存储的。
你是如何将"这"转换成 0000111100001111 ,反过来转换不就行了Top
2 楼zh2817()回复于 2006-03-21 19:34:10 得分 15
在控制台程序下,当你编译你的程序时,编译器是把你的程序“转为”计算机可识别的二进制代码,现在你想把“文字”转化为二进制代码,即使你可以实现,不过不知道你能怎么将它反编译回来?Top
3 楼ruodeer(看我的个性签名都给我分)回复于 2006-03-21 22:25:14 得分 6
挺有意思Top
4 楼maten(邪魔道)回复于 2006-03-21 22:28:50 得分 6
不知道有没有什么特定的函数,首先你要找一个叫做字库的东西,然后通过这个“0000111100001111”分成对应的行和列,然后查找并输出对应的8*8的图象,过程是这样的Top
5 楼corrupt(喜欢 睡在床板下 的思考)回复于 2006-03-22 08:31:16 得分 0
zh2817() ( )
就是我想说的这个意思~~
我同学以前搞出来过, 但是他现在不在,我没办法问他........Top
6 楼expert2000(ZLX)回复于 2006-03-22 12:25:12 得分 6
还是去问问你同学,打电话,email,都可以,想自己编程实现,好像很难。Top
7 楼corrupt(喜欢 睡在床板下 的思考)回复于 2006-03-22 19:23:05 得分 0
我解决了
原来 只要先算出 8位的整数值, 取 负
接着算出后8位的整数值 也取负
一起cout 就可以了
Top
8 楼libotudou(土豆)回复于 2006-03-22 19:27:36 得分 3
?不懂Top
9 楼libotudou(土豆)回复于 2006-03-22 19:28:36 得分 6
两个8位之间用什么运算呢?Top
10 楼Jiana(Robin.English)回复于 2006-03-22 22:47:55 得分 8
解决了的
把你的代码写出来
Top
11 楼KDE(黎明)回复于 2006-03-22 23:05:27 得分 10
建立中文字符,与你的二进制编码对应表,不过有点不现时。
最好是利用系统本身的转换。
Top




