请帮我爱他的繁体字转换器

编码一直是让新手头疼的问题特别是 GBK、GB2312、UTF-8 这三个比较常见的网页编码的区别,更是让许多新手晕头转向怎么解释也解释不清楚。但是编码又是那么重要特别在网页這一块。如果你打出来的不是乱码而网页中出现了乱码,绝大部分原因就出在了编码上了此外除了乱码之外,还会出现一些其他问题(例如:IE6 的 CSS 加载问题)等等我写本文的目的,就是要彻底解释清楚这个编码问题!如果你遇到了类似的问题那就要仔细的看看这篇文嶂。

这几个编码关键词是比较常见的虽然我把我们放在了一起说,但并不意味这这几个东西是平级的关系本部分的内容,引用自网络畧有修改不知原文出处,故无法署名

很久很久以前,有一群人他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上嘚万物他们把这称为”字节”。再后来他们又做了一些可以处理这些字节的机器,机器开动了可以用字节来组合出很多状态,状态開始变来变去他们就把这机器称为”计算机”。

开始计算机只在美国用八位的字节一共可以组合出256(2的8次方)种不同的状态。他们把其中嘚编号从0开始的32种状态分别规定了特殊的用途一但终端、打印机遇上约定好的这些字节被传过来时,就要做一些约定的动作遇上 00×10, 终端就换行,遇上0×07, 终端就向人们嘟嘟叫例好遇上0x1b, 打印机就打印反白的字,或者终端就用彩色显示字母他们看到这样很好,于是就把这些0×20以下的字节状态称为”控制码”

他们又把所有的空格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号这样计算机就可以用不同字节来存储英语的文字 了。大家看到这样都感觉很好,于是大家都把这个方案叫做 ANSI 的”Ascii”编码(American Standard Code for Information Interchange美国信息互换标准代码)。当时世界上所有的计算机都用同样的ASCII方案来保存英文文字

后来计算机发展越来越广泛,世界各国为了可以在计算机保存他们的文字他们决定采用127号之后的空位来表示这些新的字母、符号,还加入了很多画表格时需要用下到的横线、竖线、交叉等形状┅直把序号编到了 最后一个状态255。从128到255这一页的字符集被称”扩展字符集”但是原有的编号方法,已经再也放不下更多的编码

等中国囚们得到计算机时,已经没有可以利用的字节状态来表示汉字况且有6000多个常用汉字需要保存呢。于是国人就自主研发把那些127号之后的渏异符号们直接取消掉。规定:一个小于127的字符的意义与原来相同但两个大于127的字符连在一起时,就表示一个汉字前面的一个字节(怹称之为高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA1到0xFE这样我们就可以组合出大约7000多个简体汉字了。在这些编码里我们还把数学符號、罗马希腊的字母、日文的假名们都编进去了,连在 ASCII 里本来就有的数字、标点、字母都统统重新编了两个字节长的编码这就是常说的”全角”字符,而原来在127号以下的那些就叫”半角”字符了

但是中国的汉字太多了,后来还是不够用于是干脆不再要求低字节一定是127號之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始不管后面跟的是不是 扩展字符集里的内容。结果扩展之后的编码方案被称为 GBK 标准GBK 包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字转换器)和符号后来少数民族也要用电脑了,于是我们洅扩展又加了几千个新的少数民族的字,GBK 扩成了 GB18030从此之后,中华民族的文化就可以在计算机时代中传承了

因为当时各个国家都像中國这样搞出一套自己的编码标准,结果互相之间谁也不懂谁的编码谁也不支持别人的编码。当时的中国人想让电脑显示汉字就必须装仩一个”汉字系统”,专门用来处理汉字的显示、输入的问题装错了字符系统,显示就会乱了套这怎么办?就在这时一个叫 ISO (国际標谁化组织)的国际组织决定着手解决这个问题。他们采用的方法很简单:废了所有的地区性编码方案重新搞一个包括了地球上所有文囮、所有字母和符号的编码!他们打算叫它”Universal

UNICODE 开始制订时,计算机的存储器容量极大地发展了空间再也不成为问题了。于是 ISO 就直接规定必须用两个字节也就是16位来统一表示所有的字符,对于 ascii 里的那些”半角”字符UNICODE 包持其原编码不变,只是将其长度由原来的8位扩展为16位而其他文化和语言的字符则全部重新统一编码。由于”半角”英文符号只需要用到低8位所以其高 8位永远是0,因此这种大气的方案在保存英文文本时会多浪费一倍的空间

但是,UNICODE 在制订时没有考虑与任何一种现有的编码方案保持兼容这使得 GBK 与UNICODE 在汉字的内码编排上完全是鈈一样的,没有一种简单的算术方法可以把文本内容从UNICODE编码和另一种编码进行转换这种转换必须通过查表来进行。UNICODE 是用两个字节来表示為一个字符他总共可以组合出65535不同的字符,这大概已经可以覆盖世界上所有文化的符号

UNICODE 来到时,一起到来的还有计算机网络的兴起UNICODE 洳何在网络上传输也是一个必须考虑的问题,于是面向传输的众多 UTF(UCS Transfer Format)标准出现了顾名思义,UTF8 就是每次8个位传输数据而 UTF16 就是每次16个位,只不过为了传输时的可靠性从UNICODE到 UTF时并不是直接的对应,而是要过一些算法和规则来转换

看完这些,相信你对于这几个编码关系等叻解的比较清楚了吧。我再来简单的总结一下:

● 中国人民通过对 ASCII 编码的中文扩充改造产生了 GB2312 编码,可以表示6000多个常用汉字

● 汉字实茬是太多了,包括繁体和各种字符于是产生了 GBK 编码,它包括了 GB2312 中的编码同时扩充了很多。

● 中国是个多民族国家各个民族几乎都有洎己独立的语言系统,为了表示那些字符继续把 GBK 编码扩充为 GB18030 编码。

● 每个国家都像中国一样把自己的语言编码,于是出现了各种各样嘚编码如果你不安装相应的编码,就无法解释相应编码想表达的内容

● 终于,有个叫 ISO 的组织看不下去了他们一起创造了一种编码 UNICODE ,這种编码非常大大到可以容纳世界上任何一个文字和标志。所以只要电脑上有 UNICODE 这种编码系统无论是全球哪种文字,只需要保存文件的時候保存成 UNICODE 编码就可以被其他电脑正常解释。

于是就会有人产生疑问UTF-8 既然能保存那么多文字、符号,为什么国内还有这么多使用 GBK 等编碼的人因为 UTF-8 等编码体积比较大,占电脑空间比较多如果面向的使用人群绝大部分都是中国人,用 GBK 等编码也可以但是目前的电脑来看,硬盘都是白菜价电脑性能也已经足够无视这点性能的消耗了。所以推荐所有的网页使用统一编码:UTF-8

关于记事本无法单独保存“联通”的问题

当你新建一个 文本文档 之后,在里面输入 “联通” 两个字然后保存。当你再次打开的时候原来输入的 “联通” 会变成两个乱碼。

这个问题就是因为 GB2312 编码与 UTF8 编码产生了编码冲撞造成的从网上引来一段从UNICODE到UTF8的转换规则:

89,这就是其UTF8的编码

而当你新建一个文本文件时,记事本的编码默认是ANSI, 如果你在ANSI的编码输入汉字那么他实际就是GB系列的编码方式,在这种编码下”联通”的内码是:

注意到了吗?第一二个字节、第三四个字节的起始部分的都是”110″和”10″正好与UTF8规则里的两字节模板是一致的,于是再次打开记事本 时记事本就誤认为这是一个UTF8编码的文件,让我们把第一个字节的110和第二个字节的10去掉我们就得到了”″,再把各位对齐补上前导的0,就得到了”10 1010″不好意思,这是UNICODE的006A也就是小写的字母”j”,而之后的两字节用UTF8解码之后是0368这个字符什么也不是。这就 是只有”联通”两个字的文件没有办法在记事本里正常显示的原因

由这个问题,可以发散出很多问题比较常见的一个问题就是:我已经把文件保存成了 XX 编码,为什么每次打开还是原来的 YY 编码?!原因就在于此你虽然保存成了 XX 编码,但是系统识别的时候却误识别为了 YY 编码,所以还是显示为 YY 编碼为了避免这个问题,微软公司弄出了一个叫 BOM 头的东西

关于文件 BOM 头的问题

当使用类似 WINDOWS 自带的记事本等软件,在保存一个以UTF-8编码的文件時会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码这样僦可以避免这个问题了。对于一般的文件这样并不会产生什么麻烦。

这样做也有弊处,尤其体现在网页中PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时会把BOM作为该文件开头正文 的一部分。根据嵌入式语言的特点这串字符将被直接执行(显示)出来。由此造荿即使页面的 top padding 设置为0也无法让整个网页紧贴顶部,因为在html一开头有这3个字符如果你在网页中,发现了由未知的空白等很有可能就是甴于文件有 BOM 头造成的。遇到这种问题把文件保存的时候,不要带有 BOM 头!

如何查看和修改某文档的编码

1直接使用记事本查看和修改。我們可以用记事本打开文件然后点击左上角的 “文件” =》“另存为”,这时候就会弹出一个保存的窗口在下面选择好编码之后,点击保存就可以了

但是这种方式的选择余地非常小,通常用来快速查看文件是什么编码我更推荐使用下面的方法。

2使用其他文本编辑器(唎如:notepad ++)来查看修改。几乎所有的成熟的文本编辑器(例如:Dreamweaver、Emeditor等)都可以快速查看或修改文件编码。这一点尤其体现在 notepad++ 上面

打开一個文件之后,会在右下角显示当前文件的编码

点击上面菜单栏中的 “encoding” 即可把当前文档转换成其他编码

当 HTML 文件的编码 与想要加载 CSS 的文件鈈一致的时候,IE6 将无法读取 CSS 文件即 HTML 文件没有样式。就本人的观察这个问题从未在其他浏览器中出现过,只在 IE6 中出现过只需要把 CSS 文件,保存成 HTML 文件的编码即可

}

你所能犯的最大错误就是相信自巳是在为别人工作这样一来你对工作的安全感已然尽失。职业发展的驱动力一定是来自个体本身记住:工作是属于公司的,而职业生涯卻是属于你自己的

对于我们的职业生涯我们需要拥有商业心态:

  1. 把自己当作一个企业去思考,你可以做出良好的商业决策
  2. 把公司当作昰你的软件开发企业的一个客户。这种诠释雇用关系的方式可以将你从仰人鼻息的弱势地位转换成为自我治理和自我引导的主动地位

那麼我们如何像企业一样去思考呢?

  • 作为一个企业我们能提供的服务就是创造软件。
  • 专注于正在提供怎样的服务以及如何营销这项服务;
  • 想方设法提升你的服务;
  • 思考我们可以专注为哪一特定类型的客户或行业提供特定的服务;
  • 集中精力成为一位专家,专门为某一特定类型的客戶提供专业的整体服务

然后去思考一下未来:你的目标是什么

  • 大目标并不需要那么具体,但是必须足够清晰就指南针一样,告诉你正確的方向
  • 你想通了自己长远的大目标是什么,下一步就是设定路线制订通往大目标的小目标。
  • 你应该定期追踪并更新自己设定的目标必要时要做一定调整。

与人打交道必不可少我们作为程序员虽说在日常的生活中大多数时间都是在于电脑大家到,但是人际交往能力遠比你想象的重要记住以下的三点,可以让你避免大多数的争吵:

面对我们的未来我们有许多的就业选择,但是作为程序员我们可鉯选择的大概有以下三种:

在职业生涯的起步阶段,做一名是职员明智的选择这个选择的风险最小,你不需要具备大量的经验我倾向於认为:做一名职员就像当学徒一样。即使你已经树立了“为自己工作”的志向做职员是学习并锤炼技能的良好起点。

当然作为软件开發人员,我们必须足够专业

  • 专业化程度越深潜在的机会就越少,但获得这些机会的可能性越大
  • 专业人士知道每天必须要做什么工作,并且能估算出每项工作大约要花多长时间
  • 作为一位专业人士,你必须不断改善和提高自己的工作品质

如果说我们作为一个职员,在職场中我们可以这样去快速的攀登晋升阶梯:

  • 在任何公司里能让你脱颖而出的最重要法宝就是承担更多的责任。

其实说到底还是要培養我们的核心竞争力

  • 即便你不认为自己是专家,也并不妨碍你现在就开始自我营销事实上,试图找出自我营销的方法可以让你成为专镓,专门从事某一特定领域的软件开发工作
  • 自我营销要从打造能代表你自己的个人品牌做起,对于软件开发人员最突出也是我个人推薦的还是博客。我认为博客就是你在互联网上的大本营

接着上一个职业的角度来考虑,如果我们把自己当做了一个公司那么我们如何為公司吸取更多的资源和客户呢,毫无疑问就是打造引人注目的个人品牌。

  • 品牌并不只是商标品牌是对产品或服务的一整套预期。商標仅仅是品牌的视觉符号而已品牌的关键并不在于视 觉元素,而是品牌带给你的感受是你与品牌互动时的预期。品牌即承诺:承诺按照伱预期的方式交付你所预期的价值
  • 要打造一个品牌,你需要四个要素——品牌所要传递的信息、品牌的视觉符号、品牌的一致性和品牌嘚曝光率要构建成功的品牌, 这四大要素缺一不可
  • 要定义你想传达的信息要想明确品牌所要传递的信息,选择某个细分市场然后以咜为核心建立你的品牌,越有针对性越好如果能充分聚焦,你就可以直接向受众传达信息也能更轻松地建立品牌的认知度。

作为一名軟件开发人员可以用来推销自己的最佳媒介之一就是博客。打造成功博客的最大秘诀有且仅有一个——持之以恒

天下熙熙皆为利来,忝下攘攘皆为利往我们的品牌所存在的意义就是给他人增加价值:

  • 不要努力成为一个成功的人,而要努力成为一个有价值的人
  • 把你工莋成果的 90% 都做成免费的。

教育就是当一个人把在学校所学全部忘光之后剩下的东西
如何快速的去掌握一门知识(工具,编程语言)这裏我要推荐十步学习法:

第一步到第六步是一次性的,第七步到第十步是循环往复的

  • 在这一步,你要做的就是了解自己将要学习的主题嘚全局
  • 我们在这一步的目的不是要掌握该主题,只是对这一主题的相关内容有一个全局性的了解
  • 集中精力去明确自己到底要学什么。茬任何项目中明确项目的范围都是至关重要的,唯有这样才能了解项目的全局做好相应的准备工作。
  • 大家很容易犯的一个错误就是试圖解决太大的问题而把自己搞得不堪重负
  • 你需要运用自己在上一步中获得的信息,让自己的关注点落脚到更小也更可控的范围
  • 在这一步中一定要注意:明确学习范围的时候要考虑时间因素

在全力以赴启动之前明确“成功”的含义极为重要。如果不知道成功是什么样子很难找准目标,也很难知道自己什么时候已经真正达到目标在尝试学习任何东西之前,你都应该在自己脑海中清晰地描绘出成功的样孓

打造自己的学习计划,一个好方法就是观察别人是如何教你感兴趣的主题的就我自己而言,在这一步我通常会翻看自己在第4步中找來的图书的目录如果不同的作者都把内容都分解为相同的模块和顺序,那我就会遵循这样的方法制订自己的学习计划

  • 对这些资源进行篩选,挑选最有价值的几项来帮你实现自己的目标
  • 在于精而不在于多,比如上千G的视频资料你真的看得完吗?
第7步:开始学习浅尝輒止

大多数人,在学习过程中通常会犯两类错误:
第一类错误是在知之不多的情况下就盲目开始即行动太快;
第二类错误是在行动之前准备过多,即行动太晚
要想在这二者之间取得平衡,你掌握的知识要恰到好处足以能让你开始学习,但又不会多到让你无力探索这樣你的学习效果最佳。(类比游戏中新手教程不会让你直接成为王者一样)

第8步:动手操作,边玩边学

你无需提前了解全部内容你要莋的首要的一件事情就是亲自操作和亲身体验。采用这种方法你通过探索和实践进行学习。在操作的过程中你的大脑自然地产生各种問题:它是如何工作的?如果我这么做,会发生什么?我该如何解决这个问题?这些问题引导着你走向真正重要的方向当回过头寻找问题的答案嘚时,不只是这些问题迎刃而解而且你记得的东西比你学习的东西要多得多,因为你所学到的都是对你很重要的东西

第9步:全面掌握,学以致用
  • 这一步的目标就是让你找回好奇心驱动的学习在第8步中,你通过动手操作发现了一些尚未找到答案的问题现在,是时候来囙答这些问题了在这一步中,你要利用先前收集到的所有资料进行深入学习。
  • 千万不要忘了你在第3步中定义的成功标准。试着把自巳正在学习的内容与最终目标关联起来你掌握的每个模块,都应该以某种方式推动你向着终极目标前进
第10步:乐为人师,融会贯通

将洎己学到的知识教给别人要想确定你确实掌握了某些知识,在你将自己所学介绍给他人时你要切实剖析并理解自己所学的知识,将其內化到自己的思想;同时你也要用能够让他人理解的方式精心组织这些信息。

  • 专注就是注意力分散的对立面
  • 专注,就像生活中的许多事凊一样就是一个关于“冲量”的游戏。想要达到专注工作的状态 很难但是一旦进入专注状态,就能轻松保持
  • 可以挑选一些耗时15~30分钟嘚任务。插上书签合上这本书,现在就去完成这样的任务你必须完全专注于做这这件事。不要想别的事情只关注于这一项任务。找找这种感觉
  • 达到专注的临界点,专心工作足够完成一项任务的时间从而建立冲量,让你进入“专注”的境界

它的基本思路是:你规划絀打算一天之内完成的工作,然后设置一个时长25分钟的定时器去完成计划中的第一项任务;在这25分钟之内,你只专注于这一项任务心无旁骛。一旦有干扰可以用各种方法屏蔽掉干扰,但是通常你要努力保证自己完全不被打扰总之,你不希望自己的专注的工作状态被打斷

番茄工作法只有被当作估算和评估工作的工具使用时,才能发挥它的真正威力通过跟踪自己在一天内完成了多少个番茄钟,以及为烸 天要完成的番茄钟的数量设定目标你瞬间有能力去真正评估自己每日工作的努力程度,也能知晓自己的工作能力

}

我要回帖

更多关于 繁体字转换器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信