• 第一部分day4-三次登录实验、字符编码


    #-----三次登录实验-----
     1 memu = {
     2     "陕西":{
     3         "西安市":{
     4             "新城区":["大明宫遗址","含元殿遗址","八路军办事处"],
     5             "碑林区":["安碑林博物馆","明城墙","小雁塔" ],
     6             "莲湖区":["钟鼓楼","明城墙","西安都城隍庙""西安清真大寺"],
     7             "雁塔区":["秦二世胡亥墓","大兴善寺","大雁塔","曲江池","陕西历史博物馆"],
     8             "未央区":["秦阿房宫","汉未央宫","唐大明宫"],
     9             "蓝田":["华胥故里","水陆庵","王顺山","汤峪","蓝田人遗址"]
    10         },
    11         "汉中市":{
    12             "南郑":["红寺湖风景区","黎平国家森林公园","汉山广场"],
    13             "城固":["张骞纪念馆","南沙湖风景区","桔园景区"],
    14             "洋县":["开元舍利塔"],
    15             "佛坪":["大坪屿风景区","佛坪县自然保护区"]
    16         }
    17     },
    18     "重庆市":{
    19         "渝中区":["解放碑","朝天门","洪崖洞","若瑟堂"],
    20         "万州区":["万州大瀑布","青龙瀑布","天生城","铁峰山国家森林公园"],
    21         "涪陵区":["白鹤梁","大木花谷","武陵山大裂谷","816核军工洞"],
    22         "大渡口":["小南海温泉","中华美德公园","金色蛋糕梦幻王国"],
    23         "江北区":["观音桥","铁山坪森林公园","金源方特科幻公园"]
    24     }
    25 }
    View Code
     1 current_layer = memu
     2 parent_layer = []
     3 while True:
     4     for key in current_layer:
     5         print(key)
     6     choice = input(">>>:").strip()
     7     if len(choice) == 0 : continue
     8     if choice in current_layer:
     9         parent_layer.append(current_layer)
    10         try:
    11             if current_layer[choice]:
    12                 current_layer = current_layer[choice]
    13         except Exception:
    14             print("输入错误,请重新输入!".center(50,'-'))
    15             continue
    16     elif choice == 'b':
    17         try:
    18             if current_layer:
    19                 current_layer = parent_layer.pop()
    20         except Exception:
    21             print("已返回首页目录".center(50,'-'))
    22 
    23     else:
    24         print("无此项目")
    #-----字符编码-----

    #-----中国字符编码发展-----
    ASCII :只能存英文和拉丁字符,一个字符占一个字符,8位
    GB2312:GB 2312 标准共收录 6763 个汉字
    GBK:GBK 共收入 21886 个汉字和图形符号
    GB18030:GB 18030 与 GB 2312-1980 和 GBK 兼容,共收录汉字70244个

    unicode:utf-32:一个字符占4个字节
    unicode:utf-16:一个字符占2个字节或2个以上
    unicode:utf-8:一个英文用ASCII码来存储,一个中文占3个字节

    #-----in python2-----
    UTF-8 --decode-->Unicode--encode-->GBK
    GBK--decode-->Unicode--encode-->UTF-8

    #测试环境为python2,在Windows 客户端(GBK编码)运行
    1 a = "棒极了"
    2 gbk_to_unicode = a.decode("utf-8")
    3 print(a) #妫掓瀬浜
    4 utf8_to_unicode = gbk_to_unicode.encode("gbk")
    5 print(gbk_to_unicode) #棒极了
    6 print(utf8_to_unicode)#棒极了
    #-----in python3 -----
    字符默认编码Unicode ,文件默认编码UTF-8
    encode 在编码同时,会把数据转成bytes 类型
    decode 在解码同时,会把数据转成字符串
    b = byte = 字符类型= [0-255]


  • 相关阅读:
    jQuery库冲突解决办法
    jquery源码 整体架构
    中文版Chrome浏览器不支持12px以下字体的解决方案
    html5 localStorage
    Git创建分支/GIT提交分支
    Git直接拉取远程分支
    vscode关闭后未打开上次界面的解决办法
    MAC升级nodejs和npm到最新版
    hadoop hue切换中文版
    Hdfs dfs命令使用
  • 原文地址:https://www.cnblogs.com/rise-home/p/11540373.html
Copyright © 2020-2023  润新知