我是一名Web开发人员,主要从事Ruby(和Rails)和C#。
我目前正在阅读“红宝石编程语言”,一个来自Matz的输入和“_Why the lucky stiff”的绘图,以提高我对Ruby如何工作的知识。
有关字符串的章节讲述了很多关于编码,多字节字符等的内容,我似乎还记得Joel Spolsky关于每个开发人员应该如何知道x关于编码的博客。但你到底在什么时候开始看到它的影响?
例如,在原始的Rails截屏视频中,编码没有20分钟的介绍,但是一些开发人员说它是至关重要的知识。
那么你需要知道多少以及什么时候?
答案 0 :(得分:1)
回到我的日子,我们从不关心。一切都是文字。随后微软推出了他们的ASCII扩展,接下来我们就知道一切都是哎呀。 :-)嘿,你是MICROSOFT,赶走我的法律!
不幸的是,在今天的互联网和网络世界中,从第一行代码或创建的文本内容中考虑它是很重要的。
当您的网站生成输出时,您有一个优势,可以确保所有源,文本和模板都使用UTF-8编码。
如果你通过解析或抓取来摄取其他人的内容,那么你的任务变得更加困难,因为网络服务器喜欢撒谎他们发送给你的东西,HTML网页就像谎言,甚至,很难相信,XML页面会撒谎,尽管它们不应该。因此,当您感知“外部”代码集中的字符时,您的代码必须非常防御并准备好进行多字节编码。您可能需要跳过一些箍转换回您选择的UTF-8编码,这是我的建议,或ISO1859-1,或CP1252或其他任何东西。确保您使用rescue
块并测试,测试,测试是否要使您的系统变硬并防弹。
这是我的建议,基于一些来之不易的知识,在Perl和Ruby中编写了许多刮刀。