zoukankan      html  css  js  c++  java
  • 关于-编码进阶

    中国电脑的windows 的默认编码是gbk.       "记事本"是gbk, 和windows的编码一样.

    linux 的默认编码是utf-8

    苹果OS的默认编码是utf-8.

    str 字符串在内部的默认编码是 unicode

    # 英文
        str: 表现形式'alex'
             内部编码: 字符串str-> 'unicode'
        bytes:
             表新形式 b'alex'                       # 英文不会变型
             内部编码: 非unicode 
    
    # 中文:
        str: 表现形式: '琪琪'
             内部编码m:字符串, 还是unicode
        bytes:
             表现形式: b'xe7x90xaaxe7x90xaa'      # 中文转bytes会变型到十六进制
             内部编码:非unicode, 我用的是utf-8
    # s = 'alex'
    # b1 = s.encode('utf-8')
    # print(b1) #b'alex'
    
    
    s1 = "琪琪"
    b2 = s1.encode('utf-8')         # 中文字符串的unicode 转成utf-8的bytes类型
    print(b2)                              # b'xe7x90xaaxe7x90xaa'
    # 把utf-8的bytes类型转换成字符串
    b1 = b'xe7x90xaaxe7x90xaa'
    s = b1.decode("utf-8")
    print(s)        # 得到"琪琪"
    bytes
    s1 = 'alex'
    b1 = b'alex'
    print(b1,type(b1))
    print(b1.upper())
    
    s1 = '太白'
    unicode ---> gbk 字符串 ---> gbk编码方式的bytes
    b1 = s1.encode('gbk') # 编码
    s2 = b1.decode('gbk') # 解码
    print(s2)
    
    s2 = '太白'
    unicode ---> utf-8  字符串 ---> utf-8 编码方式的bytes
    b2 = s2.encode('utf-8')
    s3 = b2.decode('utf-8')
    print(s3)
    
    gbk ---> utf-8
    
    b1 = b'xccxabxb0xd7'  # gbk编码的bytes类型
    s = b1.decode('gbk')
    b2 = s.encode('utf-8')  # utf-8编码的bytes类型
    print(b2)
    
    s1 = 'いらないよ'
    b = s1.encode('shift_jis')  #
    s2 = b.decode('shift_jis')
    # print(b)
    print(s2)
  • 相关阅读:
    c# 设计模式(一) 工厂模式
    微信开发
    一款非常好用的 Windows 服务开发框架,开源项目Topshelf
    基础语法
    C++环境设置
    c++简介
    使用查询分析器和SQLCMD分别登录远程的SQL2005的1434端口
    ps-如何去水印
    html/css/js-横向滚动条的实现
    java中如何给控件设置颜色
  • 原文地址:https://www.cnblogs.com/jack20181017/p/10182700.html
Copyright © 2011-2022 走看看