zoukankan      html  css  js  c++  java
  • ruby Encoding

    一. 查看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 与字符编码

  • 相关阅读:
    [computer graphics]世界坐标系->相机坐标系详细推导
    [Computer Vision]霍夫变换直线检测
    [OpenGL](翻译+补充)投影矩阵的推导
    [WebGL]二维变换
    [WebGL]Shader中的数据和简单的工作流
    图像梯度
    皮肤镜图片毛发去除
    胸部CT提取分割肺部
    医学影像重采样
    ES7学习笔记(十二)高亮 和 搜索建议
  • 原文地址:https://www.cnblogs.com/wf0117/p/8861191.html
Copyright © 2011-2022 走看看