标签存档: 字符编码

PHP与Unicode签名(BOM,Byte Order Mark)

在编写或者修改用UTF-8编码保存的PHP文件时,有时会莫名其妙出现一些问题:
1. 页面显示一个“锘”字,其他一片空白;
2. 不能登入或者不能登出;
3. 页顶出现一条空白;
阅读全文——共2560字

趣话字符集与字符编码

很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节”。
再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机”。
开始计算机只在美国用。八位的字节一共可以组合出256(2的8次方)种不同的状态。
他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端、打印机遇上约定好的这些字节被传过来时,就要做一些约定的动作。遇上 00×10, 终端就换行,遇上0x07, 终端就向人们嘟嘟叫,例好遇上0x1b, 打印机就打印反白的字,或者终端就用彩色显示字母。他们看到这样很好,于是就把这些0x20以下的字节状态称为”控制码”。
阅读全文——共4492字

谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词

这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:
问题一:
使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢?
我很早前就发现Unicode、Unicode big endian和UTF-8编码的txt文件的开头会多出几个字节,分别是FF、FE(Unicode),FE、FF(Unicode big endian),EF、BB、BF(UTF-8)。但这些标记是基于什么标准呢?
阅读全文——共4761字

iconv转换UTF-8编码出错: iconv: 未知 xxx 处的非法输入序列

linux命令行bash下,使用iconv转换UTF-8编码到gb2312的时候遇到问题: iconv: 未知 xx 处的非法输入序列
在iconv中加入 -c 选项,忽略无效的字符,竟然成功了。
/*——————————–我是分割线——————————–*/

阅读全文——共389字

JavaScript 中的 Base64 编码Encoding

除了IE浏览器,其他所有主流的浏览器均支持原生的 Base64 编码:

btoa(text) – base64 encodes text.
atob(text) – base64 decodes text.
阅读全文——共3598字

javascript实现Base64编码与解码函数

var base64EncodeChars = “ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”;
var base64DecodeChars = new Array(
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
阅读全文——共1916字

javascript版UTF8与Utf16相互转换函数(UTF16转UTF8函数 UTF8转UTF16函数)

javascript UTF16转Utf8
function utf16to8(str) {
var out, i, len, c;

阅读全文——共1027字

字符编码的奥秘

计算机中的字是如何处理的?
如果你用放大镜看一下,可以看出屏幕上的字是由一个一个的像素点组成的,每一个字符用一组像素点拼接出来,这些 像素点组成一幅图像,变成了我们的文字,计算机又是如何将我们的文字保存起来的呢?是用一个个的点组成的图像将文字保存起来的吗?当然不是,让我们从英文 开始,由于英文是拼音文字,实际上所有的英文字符和符号加起来也不超过100个,在我们的文字中存在着如此大量的重复符号,这就意味着保存每个字符的图像 会有大量的重复,比如 e 就是出现最多的符号等等。所以在计算机中,实际上不会保存字符的图像。
什么是字符编码?
由于我们的文字中存在着大量的重复字符,而计算机天生就是用来处理数字的,为了减少我们需要保存的信息量,我们 可以使用一个数字编码来表示每一个字符,通过对每一个字符规定一个唯一的数字代号,然后,对应每一个代号,建立其相对应的图形,这样,在每一个文件中,我 们只需要保存每一个字符的编码就相当于保存了文字,在需要显示出来的时候,先取得保存起来的编码,然后通过编码表,我们可以查到字符对应的图形,然后将这 个图形显示出来,这样我们就可以看到文字了,这些用来规定每一个字符所使用的代码的表格,就称为编码表。编码就是对我们日常使用字符的一种数字编号。
阅读全文——共8180字

常见字符编码类型 汇总比较表

字符集(编码标准)
等同国际标准
编码方式
实现方式
阅读全文——共1350字

数据库中乱码记录查找与删除/sql server剔除乱码行

乱码一般都是正常编码被错误的解析而导致。每个错误的编码,都会对应着一个正确的编码,也就是,出现频率高的乱码字符,其实就是出现高频字符(一般都是汉字)对应的乱码。所以说,如果找到高频字符对应的乱码,在sql表里,使用like 查询即可以找到乱码行。也就是说,查找到一系列高频乱码字符,就可以很容易的查找到绝大多数乱码行。由于有乱码的表里存储的数据可能是不同行业、不同领域的信息,高频汉字可能不尽相同。(生命科学领域里,细、胞、蛋、白、质、核、酸等这些字频率会非常高;而计算机领域里,内、存、储、变、量、进、程等汉字会是调频汉字;其它领域亦类似)。所以查找剔除乱码记录时,最好是整理一个最准确乱码字符表。下面给出一个整理乱码表比较直接、有效的方法(是笔者所探索发现的方法):  1. 找到一定数量的乱码记录(建议在200条以上)  2. 把这些乱码整理出来,并拆分成单字,并统计每个单字出现频率。(建议使用excel+UE/editplus等工具)  3. 取最高频的50个单字(这里当然是要找明显是乱码的单字;也可以不是50个字,80个100个也行)  4. 使用UE或excel生成对应的50个sql like语句,形式如下select * from [乱码表] where [乱码字段] like ‘%锛%’ select * from [乱码表] where [乱码字段] like ‘%绂%’select * from [乱码表] where [乱码字段] like ‘%脠%’select * from [乱码表] where [乱码字段] like ‘%┖%’select * from [乱码表] where [乱码字段] like ‘%锲%’……
阅读全文——共1443字

Pages: 1 2 Next