一. 查看ruby支持的编码

Encoding.name_list

二. 搜索编码

Encoding.find('US-ASCII') #=> US-ASCII,不存在则抛出异常

三. __ENCODING__

__ENCODING__ #=> UTF-8, (__ENCODING__用作创建字符串的编码)

这里提一下:

# -*- coding:gbk -*-
__ENCODING__ #=> GBK# -*- coding:utf-8 -*-
__ENCODING__ #=> UTF-8

源代码文件中,若包含中文编码,则需要注意两点:

  • 1. 必须在首行添加 # -*- coding: UTF-8 -*-,告诉解释器使用utf-8来解析源码。
  • 2. 必须设置编辑器保存文件的编码为utf-8。

四.查看字符串编码

'法海你不懂爱'.encoding #=> UTF-8

五. force_encoding

# -*- coding:utf-8 -*-
'法海你不懂爱'.force_encoding('gbk') #=> 娉曟捣浣犱笉鎳傜埍

注意force_encoding方法只是改变了字符串对象的编码信息,并没有改变字符串对象实际存储的内容,这里‘法海你不懂爱’实际是以utf-8的编码存储的,现在修改了他的编码方式为gbk,ruby就会以gbk的方式来解码,所以最后解出来乱码了

六. encode、encode!

# -*- coding:utf-8 -*-
'法海你不懂爱'.encode('gbk') #=> '法海你不懂爱'
'法海你不懂爱'.encode!('gbk') #=> '法海你不懂爱'

注意:encode改变了编码信息同时也改变了字符串对象存储的内容

总结

  • encdoing用来查看字符串的编码信息
  • force_encoding用来修正字符串编码信息,注意是修正
  • encodeencode!用来转码字符串

参考:

Ruby 与字符编码

转载于:https://www.cnblogs.com/wf0117/p/8861191.html

ruby Encoding相关推荐

  1. sublime text3 配置python、ruby、c/c++(c/c++不推荐这个方法)

    1.打开Preferences-Browse Packages-user,新建相应的 .sublime-build 文件: 2.C/C++.sublime-build: { "cmd&quo ...

  2. sequel ace 无法格式化sql(使用ruby替代php脚本解决问题)

    问题描述 由于Format Sql默认使用php脚本,会提示错误: 原因是目前的mac系统(macos 12.5)中缺少php程序.第一时间想到是用本人电脑里已有的python来处理格式化,没去安装p ...

  3. 《Ruby》学习笔记

    前言 笨办法学Rubyearnrubythehardway.org 进入下面这些网站bitbucket.org.github.com.gitorious.org.launchpad.net.sourc ...

  4. 效率脚本:删除已经合并的git分支

    使用Git管理代码工程,着实方便了很多,但是当做完feature分支或者完成hotfix之后,总是忘记删除这些无用的分支,一个一个地删除着实麻烦,重复手工劳动不符合程序员的风格,于是写了一个简单的脚本 ...

  5. 七牛云 转码_七牛云试用指南-音视频基本处理

    对于音频.视频等多媒体资源,七牛云也提供了丰富的处理指令,包含但不限于以下指令: 本篇从获取音视频元信息入手,顺序讲解各个处理指令. ■ 获取音视频元信息 使用avinfo接口可以非常方便地获取一个音 ...

  6. JAVA实现命令助手_samples/简单语音编程,将手机打造成智能助手.md · javalovercn/HomeCenter - Gitee.com...

    ## 开发 语音小助手 让我们用不到50行代码来开发一个跨平台语音生活助手(可运行于iPhone和Android),它会回答以下类似问题: 1. "讲个笑话", 2. " ...

  7. JavaEye博客备份脚本订制版

    今天[url=http://robbin.iteye.com/]Robbin[/url]在[url=http://www.iteye.com/wiki/JavaEye/2104]如何批量导出JavaE ...

  8. GitHub Archive分析 - 2015最受瞩目的项目们

    你应该见过不少对GitHub上等等开源项目进行的分析文章.据说国外甚至有人靠分析Github上的项目解决了毕业论文--(要是我的毕业论文也能这么解决就好了XD) 借助于Google Big Query ...

  9. 超快速实现 svg 转 png,jpg等格式

    svg 是 用于描述二维矢量图形的图形格式,有着很多的优势,但是有时候并不是所有的场景都支持 svg,那么这时候,我们需要将svg 图片转换成 png 等格式. 当然,可以进行svg 转png 的方式 ...

最新文章

  1. Python库glob学习笔记
  2. Dataset:数据集集合(NLP方向数据集)——常见的自然语言处理数据集大集合(建议收藏,持续更新)
  3. 解决 Visual Studio 2019 无法打开wpf设计器问题
  4. mysql 客户端_技术分享 | MySQL 客户端连不上(1045 错误)原因全解析
  5. SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤
  6. centos8上安装nginx
  7. 解决:SyntaxError: Non-UTF-8 code starting with '\xe6' in file
  8. tail将输出的日志放到文件中_如何将Spring Boot应用中日志输出格式改为JSON?
  9. 企业选择使用混合云集成的原因
  10. 招聘APP如何搭建信用体系以避免求职者被骗
  11. drawable canvas使用
  12. 2D转换中心点transform-origin(CSS3)
  13. POJ1321 Bailian1321 棋盘问题【DFS】
  14. java过滤html相关标签
  15. 进阶之路(基础篇) - 003 I/O的模拟的读取
  16. 天啊!才几天没去看新闻,WinCE就有这么“爆炸”的新闻了?
  17. 利用虚拟机搭建Linux操作系统实验环境
  18. GDS和OTA未来之路
  19. 共享wifi流量主小程序项目
  20. 【整、借、学、变】四字谈起

热门文章

  1. oracle 记录被另一个用户锁住
  2. 查找SQL SERVER 2005 IO过高的数据库
  3. 一个电脑白痴和***的对话!
  4. aaaaaaaaaaa
  5. Eclipse中导入项目后js报错解决方法
  6. Django学习笔记之Django ORM Aggregation聚合详解
  7. 半吊子菜鸟学Web开发 -- PHP学习 4 --异常
  8. 为什么用IP无法访问网站,域名可以访问?
  9. (转)数据挖掘——我们能从股市数据得出什么,以及一些算法
  10. Access-Control-Allow-Origin与跨域