字符串和正则表达式与国际化关系紧密,utf-8可以让我们轻松搞定国际化问题
关于Unicode和utf-8入门,请看
深入了解字符集和编码
Internally, a string is just a series of bytes.
在系统内部,字符串只是一个字节序列。
字符串本身不知道如何解析,它必须根据外部标准(编码)来决定如何解析。
一个字节不与一个字符一一对应。
Ruby有一个全局变量叫$KCODE,它有如下值:
a A ASCII
n N NONE (ASCII)
e E EUC
s S SJIS
u U UTF-8
默认情况下$KCODE的值为n,即ASCII编码,把字符串当成单字节序列来处理
我们想让Ruby使用utf-8来处理字符串和正则表达式的话,只需要将$KCODE设为u即可
另外Ruby自带了jcode库,我们require 'jcode'后,在$KCODE为"u"时可以使用String的jsize来得到中文字数
而Rails使用utf-8编码请参考
但愿这个帖子能终结所有rails中文问题
使用Gettext进行I18N和L10N则请参考
使用工具gettext -- 将Rails框架应用软件中文化
分享到:
相关推荐
FastGettext就是其中一款高效的Ruby国际化工具,它以其内存占用小、命名空间简洁以及线程安全性等特性,深受开发者喜爱。下面将详细介绍FastGettext的主要功能、用法及其优势。 1. **主要功能** FastGettext提供...
Ruby-i18n是Ruby语言中的一个核心库,专门用于实现国际化(Internationalization,简称i18n)和本地化(Localization,简称l10n)功能。在软件开发过程中,尤其是在面向全球用户的应用中,i18n和l10n是至关重要的,...
从给定的文件信息来看,标题、描述及标签均指向了“Ruby自动化脚本实现网络拓扑映射”这一主题,然而,实际的部分内容却似乎与自动化脚本或网络拓扑映射没有直接关联,而更像是一个自动化操作的脚本示例,可能用于...
Ruby和Watir(Web Application Testing in Ruby)是一个强大的自动化测试框架,主要用于Web应用程序的测试。Ruby是一种面向对象的、动态的编程语言,以其简洁、优雅的语法和强大的元编程能力而受到开发者的喜爱。...
Ruby 自动化框架Watir(Web Application Testing in Ruby)是一个强大的工具,专为进行Web应用程序的端到端测试而设计。这个框架允许开发者使用Ruby语言编写测试脚本,与浏览器进行交互,模拟真实用户的行为,从而...
Ruby-Kashmir是一个专门为Ruby开发者设计的Domain Specific Language(DSL),它的主要目标是简化对象的序列化和缓存过程。通过这个库,开发者可以方便地管理和存储他们的数据,提高应用程序的性能,尤其是在处理...
Ruby Ruby Ruby Ruby Ruby Ruby
Ruby FastJSONAPI 是一个专为Ruby对象设计的高性能JSON:API序列化库。它旨在帮助开发者以简洁、高效的方式将Ruby对象转换为符合JSON:API规范的JSON格式,极大地提高了开发效率和应用程序的性能。 JSON:API是一个...
Ruby-Blender,作为一个模块化的远程命令执行框架,是Ruby开发者和DevOps工程师的利器。它旨在简化和自动化跨服务器的工作流,通过提供一套基础的原语,使得在多服务器环境中的任务执行变得更加高效和灵活。在了解...
Ruby-twittercldrrb是基于ICU(International Components for Unicode)的一个Ruby库,主要用于处理国际化(i18n)和本地化(l10n)任务。这个库为Ruby开发者提供了一套强大的工具,用于在应用程序中实现多语言支持...
Rack提供了一个最小化,模块化和适应性强的界面,用于在Ruby中开发Web应用程序。 通过以最简单的方式包装HTTP请求和响应,它将Web服务器,Web框架和软件(所谓的中间件)之间的API统一并提炼成单个方法调用。
首先,Ruby的面向对象特性是其核心之一。在Ruby中,一切都是对象,包括基本数据类型如数字、字符串和布尔值。例如,当你在Ruby中写下"hello",它实际上是一个String对象,你可以调用方法在它上面操作,如`"hello"....
它的核心特性在于提供了一种简洁而强大的方式来解析Ruby代码中的注释,将这些注释转化为结构化的文档,使得代码的可读性和可维护性大大提升。 Yard的工作原理是通过解析Ruby源码,识别出特定格式的文档注释(例如`#...
Ruby Ferry 是一个专门为 Ruby 开发者设计的数据迁移和可视化工具,它作为一个命令行 Rubygem 提供服务。在软件开发过程中,特别是在数据库管理方面,数据迁移是必不可少的环节,它允许开发者在不同版本的数据库结构...
Ruby Rubrowser是一款强大的工具,专为Ruby开发者设计,用于交互式可视化代码的依赖关系。它通过解析Ruby代码,提取出其中的模块定义、类和模块的使用情况,然后利用D3(Data-Driven Documents)库将这些信息以有向...
《Ruby Programming:向Ruby之父学程序设计(第2版)》是为了让完全没有程序设计经验的读者也能灵活地使用Ruby,因此书中详细地说明了各种知识。从程序所需要的变量、常数、方法、类、控制结构等语法的说明,到类的主要...
ruby-on-lambda, 自动化脚本,帮助运行 ruby 2.1程序 上的 ruby为什么?因为:AWS的Lambda具有巨大的潜在意义和有趣的含义AWS的Lambda还没有正式支持 ruby,因为ruby 具有巨大的潜在意义和有趣的含义 !?通过:将一...
Ruby-Money库是一个专门为Ruby编程语言设计的强大工具,它专注于处理货币相关的运算和货币转换。这个库被广泛用于需要精确管理货币数据的应用程序,比如电子商务、财务系统或者任何涉及金融交易的项目。在Ruby社区中...
在Ruby开发中,数据可视化是一项重要的任务,尤其是在数据分析、项目管理、系统架构和算法可视化等领域。RubyGraphViz使得开发者能够快速地将数据转换成易于理解的图形,这对于理解和解释复杂的数据关系或流程非常有...