起因:最近遇到一件事情,一个接口能够接收传入编码可能是utf-8,gbk 两种。 做过编码方面转换的同学应该知道的,是什么编码不会在字符串里面有什么标记位的。不过utf-8编码有特殊性,因此可以通过正则表达式来检查。只要发现是utf-8编码。就转换,不是utf-8就当gbk处理。 编码一些常见问题可以查看:由web程序出现乱码开始挖掘(Bom头、字符集与乱码)行动:知道这个原理,马上领任务,开始工作。 想到php版本有个mbstring模块可以进行编码检测转换:<?php
//当前编码是gbk
$str="中国";
$aStrList=array($str,iconv('gbk','utf-8',$str));
foreach ($aStrList as $v)
{
【已解决】UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-15: ordinal not in range(128)【背景】在python脚本中执行:i['title']=temp.string.strip().decode("gbk")即将temp.string.strip()所得到的字符串进行gbk解码,结果出现上述错误:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-15: ordinal not in range(128) 【解决过程】最后是借鉴这里:【转】Python 设置系统默认编
Unicode 字符编码规范网络技术 gz818 12 月 27th. 2007, 3:23pmUnicode 字符编码规范Unicode 是一种字符编码规范 。先从 ASCII 说起。ASCII 是用来表示英文字符的一种编码规范,每个 ASCII 字符占用 1 个字节(8bits)因此,ASCII 编码可以表示的最大字符数是 256,其实英文字符并没有那么多,一般只用前128 个(最高位为 0),其中包括了控制字符、数字、大小写字母和其他一些符号。而最高位为 1 的另 128 个字符被成为“扩展 ASCII”,一般用来存放英文的制表符、部分音标字符等等的一些其他符号这种字符编码规范显然用来处理英文没有什么问题。(实际上也可以用来处理法文、德文等一些其他的西欧字符,但是不能和英文通用),但是面对中文、阿拉伯文之
发布时间:
2012-11-09 |
类别:
技术文章 | 阅读:230388 | 评论:0 |
标签:
字符编码
字符编码问题, 对于一个在伟大天朝的程序员来说, 几乎不可能遇不到, 从我刚开始接触Coding到现在, 乱码, 编码转换问题就好像一直没有停息过.从最初的数据库到客户端乱码,到后来不同浏览器Url编码习惯不同,再到服务器和脚本编码不同的问题等等.朋友一直希望我能写一篇关于编码的文章, 但无奈面太广, 设计到的问题多, 所以也一直写不出来.不过, 作为基础, 大家先看看这篇文章吧《字符编码详解》:很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节”。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为”计算机”。开始计算机只在美