2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

字符编码和 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:472091
用户头像

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

关注

评论

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

从“群聊”到“一单到底”,天润融通工单系统助力品牌服务升级

天润融通

分享3款开源、免费的Avalonia UI控件库

不在线第一只蜗牛

开源 UI

赋能企业沟通:2024年专业IM即时通讯软件的重要性不可小觑!

BeeWorks

k8s 中的 Ingress 简介

不在线第一只蜗牛

Kubernetes 容器 云原生

🎊 NFTScan 浏览器上线三周年并推出 NFTScan OAT 活动!

NFT Research

NFT\ NFTScan

为什么要使用CDN?CDN有什么优点?

Ogcloud

CDN CDN加速 CDN技术 CDN网络加速

天润融通助力连锁品牌,用知识库应对门店咨询挑战

天润融通

实现NAS远程下载,Docker部署qBittorrent、Transmission、贝锐花生壳

贝锐

NAS Docker 镜像

京东技术专家的修炼之道|“六边形战士”周默分享

京东零售技术

赋能私有化沟通:定制即时通讯与音视频系统助推企业数字化转型

BeeWorks

安全无忧:私有化即时通讯软件提升企业内部信息安全的必然选择

BeeWorks

smardaten无代码这么牛逼?逻辑编排不用代码!

Yan-英杰

代码 无代码 smardaten

得物自建 Redis 无人值守资源均衡调度设计与实现

得物技术

数据库 redis 后端

一文详解腾讯云可观测平台 APM 采样方案

腾讯云可观测平台

应用性能监控 腾讯云可观测平台

我在Marscode用了3天,转行成为Python程序员

TRAE.ai

Python 人工智能 程序员 AI

解析淘宝商品评论API返回值中的用户互动与社交元素

技术冰糖葫芦

API Gateway API 接口 API 测试 pinduoduo API

震撼揭秘:2024年企业最受欢迎的IM即时通讯工具全面分析!

BeeWorks

华为云,调出AI原生三原色

脑极体

AI

图片压缩格式自适应,真的很省流量!

七牛云

流量 带宽 音视频技术 图片压缩

全球首个!百度智能云4款产品率先通过大模型平台应用系统ISO/IEC 42001认证

极客天地

非凸招聘,只等你了

非凸科技

招聘 金融 秋招

重回极简:华为如何走向全面智能化?

脑极体

AI

提高预算管理问责制,打造商业伙伴关系

智达方通

企业管理 企业管理工具 财务管理 全面预算管理系统 预算管理

Apache Flink 流批融合技术介绍

Apache Flink

flink 实时计算 流批一体 流批融合 大数据计算

数业智能心大陆:职场倦怠的新解法

心大陆多智能体

智能体 AI大模型 心理健康 数字心理

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