如何将字符串编码成二进制?
2012-07-13 17:37
197 查看
七夕将至,想用0和1来表达爱意吗?下面两个程序正好帮忙,可以将一个字符串转换为0和1表示的ascii码,不过目前对英文有效,中文没试。
一种是用C语言写的,通过移位来实现。
另一种是用python写的,是比较正统的转换方法,即“辗转相除法”
一种是用C语言写的,通过移位来实现。
#include <stdio.h> #include <string.h> int main(int argc, char* argv[]) { char *p = argv[1]; char c; int len = strlen(p); while(len--) { c = *p++; int i; for (i = 0; i < 8; ++i) { if (c & 0x80) printf("1"); else printf("0"); c <<= 1; } printf(" "); } printf("\n"); return 0; }
另一种是用python写的,是比较正统的转换方法,即“辗转相除法”
#!/usr/bin/env python import sys def bin(x): result = '' x = int(ord((x))) while x > 0: mod = x % 2 x /= 2 result = str(mod) + result while len(result) < 8: result = '0' + result return result def string2bin(s): bins = [] for c in s: bins.append(bin(c)) return bins if __name__ == '__main__': bins = string2bin(sys.argv[1]) for bin in bins: print bin,
相关文章推荐
- 字符串类型html如何显示出html效果,字符串中的转义符以html效果显示出来,html编码, HtmlHelper.Raw()
- 前面在《Asp.Net Forums中对.Net中序列化和反序列化的应用》一文中讲了,对于一些扩展属性,可以将字符串集合序列化为二进制,也可以从二进制反序列化为字符串集合。其实我一直有个疑问,对于asp.net中可以很容易实现,但是在asp中该如何?
- 我们在 web 应用开发过程中经常遇到输出某种编码的字 符, 如 iso8859-1 等, 如何输出一个某种编码的字符串?
- 如何从bufferreader reader.readline() 获取特定编码的字符串
- C++Builder(XE)如何转换字符串编码为UTF-8并转换成char数组
- Flex 加载Base64编码的二进制字符串图片
- 如何自动的检测字符串编码
- Visual Basic Base64编码源码:可实现对字符串(中文)和二进制文件编码
- 当POST请求是 既包含图片二进制 又包含字符串参数 如何用原生请求(二)
- 当POST请求是 既包含图片二进制 又包含字符串参数 如何用原生请求(一)
- Golang 父子对象与JSON互相转换以及struct结构体内部的反引号该如何定义字段编码生成json字符串的写法
- C#.NET常见问题(FAQ)-如何改变字符串编码
- 如何用java实现不同编码方式字符串的转换(包含异常处理、重复不终止输入、缓冲区bufferedreader的使用)
- vc 如何判断一个字符串是否是UTF8编码
- 如何测试文件或字符串的编码?
- python 如何将收到的字符串中的编码部分显示为中文
- asp.net 字符串、二进制、编码数组转换函数
- java笔记-如何判断字符串的编码?
- 如何使用c#上传图片,图片是base64编码的字符串
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制