`

ruby 1,9 多字节字符

阅读更多

ruby 1.9

 

String类

 

length 与 size 方法返回字符数

bytesize 方法返回字节数

 

encoding方法返回字符串的编码方式

 

force_encoding方法显示地设置一个字符串的编码方式,注:它不改变底层的字节

 

text = stram.readline.force_encoding("utf-8)
bytes = text.dup.force_encoding(nil)
 

foce_encoding不做任何验证工作,可以使用valid_encoding?来进行验证

 

s = "\xa4".force_coding("utf-8")  # This is not a valid utf-8 string
s.valid_encoding?               # false

 

encode方法,给一个字符串进行编码,但是它改变了其字符串的底层字节\

 

s.encode("utf-8")
s.encode("iso-8859-15")

 

如果要在一些未经编码的字节组成上的字符串上调用encoding方法,那么你须要传递两个参数给encode,

第一个参数表示所期待的编码

第二个参数表示字符的当前编码

byte = "\xA4"
chat = byte.encode("utf-8', "iso-8859-15")

 

 

 

 

 

 

 

分享到:
评论
1 楼 vivei 2010-12-08  
能者为师

相关推荐

    ruby的二进制字符串与hex互转,二进制字符串与整数互转的工具函数

    本资源是ruby代码,提供了一系列封装好的函数,用于快速进行转换,一个函数搞定,包括如下转换,二进制字符串与hex字符串的互转。二进制字符串与整数互转,包括uint8,uin16,uint32, 以及本地字节序和网络字节序两种...

    Ruby中操作字符串的一些基本方法

    在Ruby中的String对象持有和操纵的任意序列的一个或多个字节,通常表示人类语言的字符表示。 简单的字符串文本括在单引号(单引号字符)。引号内的文本的字符串值: 'This is a simple Ruby string literal' 如果...

    msgpack-ruby:Ruby msgpack.org的MessagePack实现[Ruby]

    例如,将小整数(如标志或错误代码)编码为单个字节,并且典型的短字符串除字符串本身外仅需要一个额外的字节。 如果您曾经想使用JSON来获得便利(使用元数据存储图像),但又出于技术原因(二进制数据,大小,速度...

    Serialize and Deserialize Java 示例程序

    简单来讲,它的数据格式与json类似,但是在存储时对数字、多字节字符、数组等都做了很多优化,减少了无用的字符,二进制格式,也保证不用字符化带来额外的存储空间的增加。MessagePack 是一个计算机的数据交换格式。...

    ruby_xid:Ruby Xid实现。 全球唯一的ID生成器

    全球唯一的ID生成器该项目是Go语言库的Ruby实现,可在以下位置找到: : 我在这里包括了该项目的自述文件(对ruby进行了一些修改)。 软件包xid是全局唯一的id生成器库,可以直接在您的服务器代码中安全使用。 Xid...

    json:Ruby的JSON实现

    Ruby的JSON实现 描述 ... 所有要编码为JSON字符串的字符串,在Ruby端均应为UTF-8字节序列。 要对未经UTF-8编码的原始二进制字符串进行编码,请使用String的to_json_raw_object方法(该方法生成一个

    实例解析Ruby中的数值类型以及常量

    整数范围从 -230 到 230-1 或 -262 到 262-1。在这个范围内的整数是类 Fixnum 的对象,在这个范围外的整数存储在类 Bignum 的对象中。 您可以在整数前使用一个可选的前导符号,一个可选的基础指标(0 对应 octal,0x...

    smstools:一组Ruby和JavaScript类,以帮助进行SMS消息处理

    以GSM 7位编码检测双字节字符。 甚至更多。 注意GSM编码 本文中对“ GSM”编码或“ GSM 7位字母”的所有引用实际上均指Unicode联盟定义的及其最新版本。 发送SMS消息时,这种编码是使用最广泛的一种编码。 有关...

    magic_encoding:轻松管理 ruby​​ 1.9 应用程序编码的魔术注释

    我最初写这个是为了在在 rails 控制器上的 ruby​​ 中写入包含非 ascii 字符(如 éöàüèä)的字符串时摆脱“无效的多字节字符(US-ASCII)”错误 安装 gem install magic_encoding 用法 您可以使用像这样的...

    tokyocabinet-ruby-1.31.tar.gz_TOKYO_TokyoCabinet

    Tokyo cabinet C 库的 Ruby绑定代码API Tokyo cabinet 是一个管理数据库的库。该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每...

    ione:Ione 是 Ruby 中React式编程的框架

    网络通常意味着推送大量字节,而在 Ruby 中很容易犯将字符串用作缓冲区的错误。 Ione提供了一种有效的字节缓冲区实现方案。 例子 目录有一些关于你可以用 Ione 做什么的例子,例如: 是使用Ione的大多数功能的功能...

    strings:一组有用的函数来转换字符串

    支持多字节字符编码,例如UTF-8,EUC-JP 处理单词之间没有空格的语言(例如中文和日语) 支持ANSI转义码 本质上灵活,可分为多个 内容 2.3倍 2.4垫 2.5消毒 2.6截断 2.7包裹 3.扩展String类 4.组成 1.用法 字符...

    Ruby基础知识之数据类型

    整型分两种,如果在31位以内(四字节),那为Fixnum实例。如果超过,即为Bignum实例。 代码如下: #整型 Integer 以下是一些整型字面量 #字面量(literal):代码中能见到的值,数值,bool值,字符串等都叫字面量 ...

    emacs-realtime-markdown-viewer:带有 websocket.el 和 Amon2 的 Emacs 实时降价查看器

    最新的 早于 2012/SEP/01 的 websocket.el 不支持多字节字符 示范 如何跑步 选择语言 您可以选择 WebApp 实现、Perl(Amon2) 或 Ruby(Sinatra)。 默认是 Perl,因为我是 Ruby 编程的初学者。 ; ; Use Sinatra App ...

    byte-music.js:在网络上播放字节音乐

    字节音乐播放器的Web 注意事项: 目前仅演奏旋律,尚未演奏鼓... 默认情况下,转换器将通用MIDI名称用于输出文件,因此它们与字节名或表情符号字符不对应。 尝试一下! npm installnpm startopen http://localhost:9966

    textbringer:一个用Ruby编写的类似Emacs的文本编辑器

    屏幕截图演示版FizzBu​​zz: ://asciinema.org/a/103357 Ruby编程: : 日语文本编辑: : 安装$ gem install textbringer您需要ncursesw才能使用多字节字符。 在安装textbringer依赖的curses.gem之前,先安装...

    Talon:以 4 个字符存储经度和纬度

    爪一种用4个unicode8字符存储经纬度的方法,使传送位置更短。...字符 1 0 1 2 3 4 5 6 7+-+-+-+-+-+-+-+-+| H | F |S|+-+-+-+-+-+-+-+-+| H | int_A |+-+-+ +-+-+-+-+| H | | |+-+-+-+-+ +| H | dec_A1 |+-+-

    hackership_compilers_stuff

    基本数学运算:从字符串到字节码执行简单的编译器如果你想看看它是如何运作的: 克隆项目$ ruby​​ ruby​​_string_compiler/execute.rb 它需要数字 (0-9)、加法 (+)、乘法 (*) 和括号 ( () ) 规格:$rspec ruby​...

    aesjava源码-java-aes-crypto:用于加密和解密字符串的简单Android类,旨在避免大多数此类类所遭受的经典错误

    适用于字符串:它应该加密任意字符串或字节数组。 这意味着它需要有效地处理多个块(CBC)和部分块(填充)。 它使用 base64 始终如一地序列化和反序列化密文、IV 和密钥材料,以使其易于存储。 算法和模式:我们...

    tachypomp:Tachypomp和其他故事

    源文件已以UTF-8格式重新保存,以删除无效的多字节字符(UTF-8),因为来自Gutenberg项目的源文件带有Latin-1编码。 该项目仍在进行中。 长期目标是开发一种通用框架,用于以各种格式构建内容。安装将项目克隆到...

Global site tag (gtag.js) - Google Analytics