`

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中的分界符是指所有非字母或数字的单字节字符,可以成为字符串的界定符,并且它们通常需要成对出现,比如尖括号<和>、感叹号!和!、花括号{和}等。字符串的表示方法有多种,包括最简单的单引号和双引号包裹字符串...

    ruby编码转换

    本篇文章将详细介绍如何在Ruby 1.9环境中进行编码转换,包括如何查看字符串的编码信息、如何强制更改字符串的编码以及如何使用`encode`方法来进行实际的编码转换。 #### 一、获取字符串的当前编码 在Ruby 1.9中,...

    ruby基础教程(第四版)第19章 encoding编码1

    ### Ruby基础教程(第四版)第19章 Encoding编码1 #### 1. 字符串的编码概述 在Ruby编程语言中,字符串的编码是非常重要的一个概念。它不仅影响着字符串的创建、处理,还会影响到字符串与其他数据类型的交互。本...

    Ruby-Ruby库和CLI命令可视化终端中的各种Unicode和ASCII编码

    Ruby库如`charlock_holmes`和`jcode`为处理多语言字符集提供了强大的支持。`charlock_holmes`是一个混合字符编码检测器,它使用了libmagic库,能够识别多种编码格式,包括Unicode和ASCII。在处理未知来源的数据时,...

    Ruby on Rail 基础知识 一张纸

    1. **字符串处理方法**: - `capitalize!`: 将字符串的第一个字母转换为大写。 - `center`: 将字符串居中。 - `chomp!`: 删除字符串末尾的换行符。 - `chop!`: 移除字符串的最后一个字符。 - `concat`: 连接字符...

    Ruby v2.6.3 正式版

    Ruby作为一种多用途的、解释型的、面向对象的编程语言,以其简洁的语法和强调程序员生产力而受到广泛欢迎。它的设计目标是让代码更加易于阅读和写作,同时降低编程的复杂度。 Ruby的核心特性包括: 1. **动态类型*...

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

    还有很多其他方法,如`capitalize`首字母大写,`reverse`翻转字符串,`strip`去除两端的空白,以及`length`或`size`获取字符串长度。 字符串的解压缩功能通过`String#unpack`方法实现,它允许我们将字符串转换为...

    ruby-源码.rar

    1. **解释器实现**:Ruby使用C语言作为底层实现,这使得它能够跨平台运行。解析器负责将Ruby代码转换为机器可以理解的形式。通过阅读源码,我们可以了解到如何处理语法解析、符号表管理以及如何执行字节码。 2. **...

    Ruby-MAC地址年龄跟踪

    MAC地址是物理网络接口控制器的硬件地址,由6个字节(48位)组成,通常以冒号或连字符分隔的12个十六进制数字表示。这些地址由IEEE(电气和电子工程师协会)管理,分配给不同的制造商。每个制造商都有一个特定的前缀...

    Ruby基础知识-数据类型.pdf

    本文档旨在详细介绍Ruby支持的各种基本数据类型及其使用方法,包括但不限于Number(数值)、String(字符串)、Ranges(范围)、Symbols(符号)以及特殊值true、false和nil。此外,还会涵盖两种重要的复合数据结构...

    Ruby-Ox一个快速的XML解析器

    1. **速度**:由于Ox是用C语言编写的,并且直接操作字节流,因此它的解析速度非常快,比许多纯Ruby的XML解析库更高效。 2. **简洁性**:Ox的设计目标是保持简单,因此它的API相对较小,易于理解和使用。开发者可以...

    ruby培训资料

    此外,Ruby是免费和开源的,它在日本比Python更受欢迎,这可能是因为Ruby能够非常方便地处理多字节字符集。Ruby的语法具有可读性和易于学习的特点,被用于文本处理、Web应用、系统管理以及人工智能和数学研究等领域...

    rubyinstaller-1.9.3-p385

    2. 更强的Unicode支持:全面升级了字符串处理,增强了对UTF-8和其他多字节字符集的支持。 3. 更丰富的内置类和模块:如新增了`Enumerator`类,使得迭代更加方便;`Hash`类进行了改进,允许使用符号作为键,并提供了...

    ruby语法基础教程.pdf

    - **序列化的概念:** 序列化是指将对象转换成字符串或字节流的过程。 - **YAML:** YAML是一种轻量级的数据交换格式,易于人类阅读和编写,同时也易于机器解析和生成。 以上是基于给定文件内容提取的Ruby语法基础...

    ruby 正则表达式详解及示例代码

    - 双字节字符:[^\x00-\xff],表示匹配双字节字符,包括汉字。 - HTML标记:/*>.*<\/\1>|*>\/>/,这是一个稍微复杂的例子,用正则表达式匹配HTML标签。 - 账号是否合法:^[A-Za-z][a-zA-Z0-9_]{4,15}$,表示匹配...

    ruby基础知识

    - **面向对象**:Ruby几乎所有的元素都是对象,并且支持多态性和继承。 - **动态性**:Ruby是一种动态类型语言,可以在运行时修改类和对象的行为。 - **元编程能力**:Ruby允许程序员通过代码来生成代码,实现高级...

    Ruby语言笔记包括简介、主要特性、命令行选项、环境变量、基础语法等

    - **-K [kcode]**: 指定多字节字符集编码。 - **-l**: 启用自动行尾处理。 - **-n**: 将代码置于一个输入循环中。 - **-0[octal]**: 设置默认的记录分隔符。 - **-p**: 将代码置于一个输入循环中并在每次迭代后输出...

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

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

    国际化 - jcode库和$KCODE

    `jcode`库是Ruby 1.8版本中用于处理多字节字符集(如UTF-8、EUC-JP等)的一个模块。在Ruby 1.9及更高版本中,由于对Unicode的内置支持增强,`jcode`库的重要性逐渐降低,但仍然可用于处理某些特定的编码转换需求。...

Global site tag (gtag.js) - Google Analytics