<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[编译vim支持set fileencoding 和 encoding命令]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Wed, 21 Dec 2011 11:14:58 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	很多同志抱怨再linux发行版下的vim不支持set fileencoding 和 set encoding 这两个非常重要的命令(windows的版本默认是支持的），所以很郁闷。其实原因很简单，因为它需要编译vim是打开multibyte模块，vim的默认编译是没有enable这个模块的，所以只要重新编译vim<br/>./configure –enable-multibyte<br/>make<br/>sudo make install<br/><br/>来处：http://rainx.cn/blog/archives/30<br/><br/>程序员永远的痛之字符编码的奥秘:<br/>字 符编码相信是每个程序员的噩梦，只要是有中文的地方，总是会遇到各种编码的问题，并且这种问题还非常难缠，尤其在linux上，因为上面很多软件都是针对 英语国家开发的，是不会考虑其他语种编码问题。在遇到编码的无数大坑之后，我决定仔细研究下编码问题，因为这就像一道坎一直横在你面前，每次到这里你都会 跌到，每次爬起来之后，你都若无其事，这样的人被称作战士，真正的战士。可惜是个力量战士，做为新时代的智力战士，当然不能在那跌到然后又在这继续跌到。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp; 文件的存储方式：<br/>&nbsp;&nbsp;&nbsp;&nbsp; 文件都有自己的存储格式，比如最常见的txt，cpp，h，c，xml ，png， rmvb各种格式，还有自定义格式。这些文件不论是什么格式，都是存储在计算机硬盘里的2进制格存储，对应不同文件格式，有不同的软件解析。这篇文章不谈 文件是如何存储的，只谈文件是如何解析的。<br/>&nbsp;&nbsp;&nbsp;&nbsp; 文本文件解析：<br/>&nbsp;&nbsp;&nbsp;&nbsp; 文本文件对应于人类可以阅读的文本，如何从2进制转换为文本文件呢？起初由于计算机在美国发明，自然大家考虑的是英语如何表示，英语字母总共26个，加 上特殊字符，128个字符，7位既一个byte即可表示出来。这个就是大家所熟知的ascill编码。对应关系很简单，一个字符对应一一个byte。<br/>&nbsp;&nbsp;&nbsp;&nbsp; 但很快发现，其他非英语国家的文字远远超过ascill码，这时候大家当然想统一字符编码，不同国家出了自己不同的编码方式，中国的gb2312就是自 己做出来的编码方式，这样下去每个国家都有自己的编码方式，来回转换太麻烦了。这时候出现了新的编码方式，unicode编码方式，想将编码统一，所以规 定了每个字符对应的unicode码。<br/>&nbsp;&nbsp;&nbsp;&nbsp; 1、很多文件都是ascii编码，如果用unicode 太浪费。<br/>&nbsp;&nbsp;&nbsp;&nbsp; 2、没有标志位说明该几个字节来解析为一个符号。<br/>&nbsp;&nbsp;&nbsp;&nbsp; 这时候拯救世界的utf出现了，utf是unicode的一种实现，只不过更聪明了。utf16是占用两字节，或者四字节，utf32是占用四字节。utf8是很聪明的一种表示方式。<br/>&nbsp;&nbsp;&nbsp;&nbsp; 1、对于单字节符号，字节第一位为0，后面7位表示字节编码。<br/>&nbsp;&nbsp;&nbsp;&nbsp; 2、对于n字节符号，第一字节的前n位都设为1，第n＋1位为0，其余位为编码位置。<br/>对于不同的编码，在文本的最前方有不同的标志，unicode 通常有两位来表示分别是ff fe， 或者feff， fffe表示big－endian 编码feff表示litte－endian编码。utf8是efbbbf来开头的。可以看出来utf-8是自解释的，所以不用带这个标志文件，大多数程序 是可以识别的。但有些程序不能识别这个标志，比如php就会直接把这个标志当文本解析，不会忽略。相信很多遇到php输出文本解析乱码或者解析错误的同学 都遇到这样的问题。<br/>&nbsp;&nbsp;&nbsp;&nbsp;如何解决问题：<br/>&nbsp;&nbsp;&nbsp;&nbsp;如果有vim那最好不过了，去掉命令：<br/>&nbsp;&nbsp;&nbsp;&nbsp;set encoding=utf-8<br/>&nbsp;&nbsp;&nbsp;&nbsp;set nobomb<br/>&nbsp;&nbsp;&nbsp;&nbsp;添加命令:<br/>&nbsp;&nbsp;&nbsp;&nbsp;set encoding=utf-8<br/>&nbsp;&nbsp;&nbsp;&nbsp;set bomb<br/>&nbsp;&nbsp; 或者使用notepad++自带的功能<br/>来自：<br/>https://software.intel.com/zh-cn/blogs/2014/02/13/?utm_campaign=CSDN&amp;utm_source=intel.csdn.net&amp;utm_medium=Link&amp;utm_content=others-bianma
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 编译vim支持set fileencoding 和 encoding命令]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>