如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

字符编码和 M17N 详解

  • 2009-05-18
  • 本文字数:784 字

    阅读完需:约 3 分钟

James Edward Gray II 近期发表了十个同一系列名为《Understanding M17n》的文章,均是关于Ruby 的字符编码问题。

Ruby 1.9 做出了很多关于字符支持的修改,现在能够很好地支持多种和混合字符编码了。这些需求是在一些项目中确实存在的,尤其是为全世界用户开发的开源项目中。

他从基础开始讲起,介绍了什么是 Unicode 以及其编码方式,接着发表了一些 Ruby 1.8 的帖子,例如使用iconv 进行编码以及Ruby 1.8 是如何处理Unicode 的。然后综合论述了 Ruby 1.9 的 String 以 Ruby 1.9 和其他语言的区别:

通常开发者都会选择一个全能的编码,例如 Unicode 编码,然后所有的数据都会是这个编码格式。Ruby 1.9 采取了一种不同的方法。它不仅仅局限于选择一种编码,Ruby 1.9 能够同时处理超过 80 种编码的数据。

Ruby 1.9 的 m17n 的一个新特性是三种默认编码,而 Ruby 1.8 只有单一的全局变量。但是为什么我们需要这么多编码呢?考虑以下的情景:

我也许希望我的代码是 UTF-8 的,但是一些日本程序员希望它们的代码是 Shift JIS。Ruby 应该支持这个,确实 1.9 也支持了这个特性。我们把这个情景搞复杂一点:想像一下我把我的 UTF-8 的代码打包到一个 gem 之后,有日本程序员希望在它的 Shift JIS 代码重使用这个 gem。我们如何无缝地进行工作?

阅读关于 Ruby 1.9 的三种默认编码的主题。 最后一篇文章包含了各种话题,例如在二进制数据编码和正则表达式数据编码。

阅读完这十个主题之后,你应该已经明白了Ruby 1.9 的强大的m17n 特性以及给你带来的灵感,即使你仍然打算现在坚守在Ruby 1.8 的平台上。如果你并不足够了解Unicode,如果还没有读过的话,你也许需要阅读一下Joel Spolsky 的传世之作《The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)》

查看英文原文: Character Encodings and M17N Explained

2009-05-18 11:472061
用户头像

发布了 90 篇内容, 共 38.4 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

AI训练必看!2025年十大最佳数据采集代理推荐

不觉心动

爬虫 数据采集 AI+数据

企业如何选择RPA?一文了解RPA工具

Techinsight

前端热更新驱动下的中国互联网开发范式重构

xuyinyin

测试了多款AI智能体,哪款“自动干活”

Techinsight

AIOps故障诊断怎么做?3个典型场景实践展示

行云创新

AIOPS 智能运维AIOps 平台工程 AI运维

从封闭垄断到开源革新:传统能源管理系统与 MyEMS 的核心维度对比

开源能源管理系统

开源 能源管理系统

快速看懂财务机器人:案例+趋势,财务人该如何应对?

Techinsight

Coze教程 第1章:Coze平台概述与测试应用前景

测试人

闪电洗车小程序系统相关介绍

微擎应用市场

炸了!Google新发图片大模型简直逆天!

王磊

MySQL数据库内网穿透远程访问教程:无需公网IP、简单3步

科技热闻

F5年度峰会Solution Day盛大启幕,携应用交付与安全平台引领AI时代

科技热闻

实测多家AI智能体感想,哪款能够自动执行任务?

Techinsight

AI口语APP开发的技术框架

北京木奇移动技术有限公司

AI技术开发 软件外包公司 AI口语

夜莺监控新版表格配置图文讲解

巴辉特

夜莺监控

RPA升级到AI,财务圈正在发生的3个变化

Techinsight

选型:五大RPA软件对比

Techinsight

[VLDB 2025]阿里云大数据AI平台多篇论文被收录

阿里云大数据AI技术

flink 阿里云 VLDB 多模态慢查询

思楼回收管理系统小程序及相关信息介绍

微擎应用市场

特斯拉、智元、宇树、英伟达等,产业链上市公司8月速递

机器人头条

人形机器人 具身智能 宇树科技 智元机器人 特斯拉optimus

澳鹏MediGo医疗大模型数据开发平台:解码智慧医疗的数据基因

澳鹏Appen

医疗AI 智慧医疗 医疗大数据

零代码改造!LoongSuite AI 采集套件观测实战

阿里巴巴云原生

阿里云 云原生 LoongSuite

开源赋能・智控能效:MyEMS 引领双碳时代能源管理数字化革新

开源能源管理系统

开源 开源能源管理系统

一毛钱自助 KTV 小程序系统介绍

微擎应用市场

美国参议院法案对AI监管与能源政策的重大影响

qife122

人工智能监管 立法框架

使用FIDO2实现LUKS磁盘加密的技术解析

qife122

LUKS 磁盘加密

AI 云驱动产业智能化跃迁

Baidu AICLOUD

AI 昆仑芯 百度百舸 具身智能

测试不再碎片化:AI智能体平台「项目资料套件」功能上线!

测试人

政府网站IPv6检测怎么做?检测指标有哪些?

防火墙后吃泡面

财务团队升级攻略:主动出击数字化,赋能决策新动力

智达方通

企业管理 数字驱动 财务管理

无公网IP也能远程访问:RealVNC+贝锐花生壳内网穿透全攻略

科技热闻

字符编码和M17N详解_Ruby_Mirko Stocker_InfoQ精选文章