Ruby Encoding类

本文详细介绍了Ruby中IO对象的内部和外部编码概念,包括如何获取和设置编码、编码转换过程及可能出现的问题。同时提供了多种实用的方法来管理和操作不同场景下的编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Encoding类
 内部编码 IO对象内部处理时候的编码 
 外部编码 IO对象对外输出的时候的编码
 输入 外部字符与自己的外部编码对比(没设定的默认
                     Encoding.default.encoding)
 内部编码没设定的不转换
 内部编码设定的则从外部编码转换为内部编码
 转换不了会报错
 输出 外部编码没设定的不转换
 设定的则转换为外部编码
 转换不了会报错
 方法 
 获取 str.encoding()
 设置编码 str.encode("UTF-8")
  
 查询是否可连接 Encoding.compatibel?(str1, str2)
 可以连接返回连接后的字符编码
 不可以则返回nil
  
 获取默认内部编码 Encoding.default_external()
 获取默认外部编码 Encoding.default_internal()
 获取指定编码 Encoding.find(name)
 name: 编码名称
 下面四个特殊的单独提供
 locate 当前位置的编码
 external 外部编码
 internal 内部编码
 filesystem 文件系统编码
 获取所有编码 
 Encoding.list 所有编码
 Encoding.name_list 所有编码名字
 str
 获取编码名字 enc = Encoding.find("...")
 
 enc.name() 获取名字 
 enc.names() 获取所有名字
 获取指定对象编码 
 获取对象外部编码 io.external_encoding()
 获取对象内部编码 io.internal_encoding()
 设置对象编码 io.set_encoding("ex:in")
 "ex:in" 外部:内部编码
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 

 

转载于:https://www.cnblogs.com/lancgg/p/8281873.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值