数据编码与解码
byxdaz
十年以上C/VC++开发经验。熟悉网络编程、数据库编程、数字图像处理与识别,熟悉软件工程和项目管理,熟悉linux C/C++开发。
展开
-
ANSI和UNICODE字符串处理常用函数
ANSI和UNICODE字符串处理函数在windows中ANSI和UNICODE字符串操作分别提供了相应的函数,也提供了一套兼容两者的函数。比如:#ifdef UNICODE #define _tcscpy wcscpy #else #define _tcscpy strcpy #endif字符串处理函数常用函数对照ANSI UNIC...原创 2018-05-30 11:22:29 · 4156 阅读 · 0 评论 -
谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:问题一:使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件...原创 2008-05-02 15:54:00 · 1109 阅读 · 0 评论 -
iconv 使用
iconv 使用 iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件。例如:从GB2312转换为UTF-8。用法: iconv [选项...] [文件...]Convert encoding of given files from one encoding to another.输入/输出格式规范: -f, --from-code=NAME 原始文本编码 -t, ...原创 2008-05-05 22:24:00 · 5122 阅读 · 0 评论 -
Ansi,UTF8,Unicode,ASCII编码
Ansi,UTF8,Unicode,ASCII编码1. ASCII和Ansi编码 字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为 单字节内码 -- Single-Byte character sets (SBCS),可以支持256个字符编码. 双字节内码 -- Double-Byte character s...转载 2008-05-07 22:33:00 · 1093 阅读 · 0 评论 -
常见几种字符之间的转换
常见几种字符之间的转换 一、字符串/整型转换1、 int atoi(const char *nptr);atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。long int strtol(const char *nptr,char **endptr,int base);2、...原创 2008-05-08 23:17:00 · 4444 阅读 · 0 评论 -
gbk, gb2312,big5,unicode,utf-8,utf-16之间的关系
gbk, gb2312,big5,unicode,utf-8,utf-16之间的关系最近和同事讨论unicode的相关知识,同事说unicode指utf-16,和utf-8相区别;而我的理解是unicode只是一种规范,而utf-16,utf-8等都是它的具体实现,互相也说不准。于是在网上搜索资料,最后发现其实双方都有道理,只是个人理解不一样罢了,的确通常来说的unicode是指utf-16的...转载 2008-05-08 23:21:00 · 4035 阅读 · 0 评论 -
UTF8,UTF16,UTF32,UTF16-LE,UTF16-BE,GBK 之间的转换
UTF8,UTF16,UTF32,UTF16-LE,UTF16-BE,GBK 之间的转换 Unicode是Unicode.org制定的编码标准,目前得到了绝大部分操作系统和编程语言的支持。Unicode.org官方对Unicode的定义是:Unicode provides a unique number for every character。可见,Unicode所做的是为每个字符定义...原创 2008-05-11 12:41:00 · 5000 阅读 · 0 评论 -
MD5简介与代码实现
MD5简介 md5的全称是message-digest algorithm 5(信息-摘要算法),在90年代初由mit laboratory for computer science和rsa data security inc的ronald l. rivest开发出来,经md2、md3和md4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就...原创 2008-05-31 22:46:00 · 10815 阅读 · 1 评论 -
base64简介与代码实现
base64简介Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64要求把每三个8Bit的字节转换为四个6Bit的字节(3*8 = 4*6 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3。这样说会不会太抽象了?不怕,我们来看...原创 2008-05-31 23:10:00 · 2830 阅读 · 0 评论 -
CRC16校验、CRC32校验
//CRC16校验unsigned short CRC16( unsigned char* puchMsg, unsigned short usDataLen);//CRC32实现函数unsigned int CRC32( unsigned char *buf, unsigned int len); //CRC16校验unsigned short CRC16( unsign...原创 2017-05-02 18:13:47 · 3738 阅读 · 0 评论 -
校验和计算
校验和计算参考RFC文献1. 前言校验和计算是NAT功能和内容修改功能的基本功,这些操作进行后都需要修改数据头中的校验和。2. 16位校验和计算2.1 基本原理IP/ICMP/IGMP/TCP/UDP等协议的校验和算法都是相同的,采用的都是将数据流视为16位整数流进行重复叠加计算。为了计算检验和,首先把检验和字段置为0。然后,对有效数据范围内中每个16位进行二进制反码...转载 2007-08-16 11:04:00 · 14304 阅读 · 0 评论