首页 > 编程语言 >python ASCII字符的实用程序 curses.ascii 库的安装使用

python ASCII字符的实用程序 curses.ascii 库的安装使用

时间:2023-11-02 10:38:40浏览次数:34  
标签:bytearray curses python bytes Python xe7 str print 实用程序

python ASCII字符的实用程序 curses.ascii 库的安装使用

https://www.lfd.uci.edu/~gohlke/pythonlibs/

下载对自己电脑配置的WHL文件,并安装,比如我用的是curses‑2.2+utf8‑cp27‑cp27m‑win_amd64.whl


pip install curses‑2.2+utf8‑cp27‑cp27m‑win_amd64.whl

Python 代码中即可使用如下的方法

from curses import ascii

ascii.isgraph(33)

ascii.isalpha('a')

 

Python字节数组【bytes/bytearray】
bytes
>>> type(b'xxxxx')
<class 'bytes'>

>>> type('xxxxx')
<class 'str'>
bytes是byte的序列,而str是unicode的序列。

 

1、str 转换成 bytes 用 encode() 方法:(注意:这有个坑,str1.encode不加括号和加括号是不一样的,自己试试,初学貌似2.0不影响,3.0变了,不加括号开发环境语法不报错)

str = '人生苦短,我用Python!'
bytes = str.encode()
print(bytes)
输出:

b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!'
2、好了,反转换 decode() :

bytes = b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!'
str = bytes.decode()
print(str)
输出:

人生苦短,我用Python!
bytearray
1、bytearray和bytes不一样的地方在于,bytearray是可变的。

str = '人生苦短,我用Python!'
bytes = bytearray(str.encode())
bytes = bytearray(b'\xe4\xba\xba\xe7\x94\x9f\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!')
str = bytes.decode()
print(str)
输出:

'人生苦短,我用Python!'
2、改变bytearray

bytes[:6] = bytearray('生命'.encode())
bytes = bytearray(b'\xe7\x94\x9f\xe5\x91\xbd\xe8\x8b\xa6\xe7\x9f\xad\xef\xbc\x8c\xe6\x88\x91\xe7\x94\xa8Python!')
str = bytes.decode()
print(str)
输出:

生命苦短,我用Python!
各种 bytes :

a = bytes('abc', 'utf-8')
print(a)
> b'abc'

b = bytes(1)
print(b)
> b'\x00'

c = bytes([2,3,6,8])
print(c)
> b'\x02\x03\x06\x08'

print(b"Python")
> b'Python'

python = (b'P' b'y' b"t" b'o' b'n')
print(python)
> b'Pyton'
Bytes 代表的是(二进制)数字的序列,只不过在是通过 ASCII 编码之后才是我们看到的字符形式,如果我们单独取出一个字节,它仍然是一个数字:

1

print(b"Python"[0])<br>> 80

我们可以用 b"*" 的形式创建一个字节类型,前提条件是这里的 * 必须是 ASCII 中可用的字符,否则将会超出限制:

print(b"雨")
> File "", line 1
print(b"雨")
^
SyntaxError: bytes can only contain ASCII literal characters.
错误提示说明:字节类型只能允许 ASCII 字符(0~127~255)。ASCII 表里面所有的字符只占据了 [31, 127]

那对于这一范围之外的数字我们要怎么才能表示为字节类型?答案就是用特殊的转义符号x+十六进制数字 :

print(b'xff'[0])
> 255
print(b'x24')
> b'$'
反过来我们也可以将数字(0~255)转变成转义后的字节类型:

print(bytes([24]))
> b'x18'
print(bytes([36,36,36])) # 记住字节类型是一个序列
或者直接从十六进制得来:

print(bytes.fromhex("7b 7d"))
> b'{}'

# 逆运算
print(b'{ }'.hex())
> 7b207d

int(b' '.hex(), base=16)
> 32
测试的一些代码:

print("$".encode('ascii'))
> b'$'
print("$".encode('ascii')[0])
> 36

ba = bytearray(b'hello')
ba[0:1] = b'w'
print(ba)
bytearray(b'wello')
可是如果我们对一些奇怪的字符进行 ASCII 编码,就会发生异常:ordinal not in range(128)

 

 

 

文章知识点与官方知识档案匹配,可进一步学习相关知识
————————————————
版权声明:本文为CSDN博主「vrix」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/vrix/article/details/85254841

标签:bytearray,curses,python,bytes,Python,xe7,str,print,实用程序
From: https://www.cnblogs.com/hphsh/p/17804825.html

相关文章

  • Effective Python 编写高质量Python代码的59个有效方法----读书笔记
    第二条遵循PETP8风格指南PEP8指南PythonEnhancementProposal#8使用space(空格)来表示缩进,而不要用tab(制表符)和与法相关的每一层缩进都用4个空格来表示每行的字符数不应超过79对于占据多行的长表达式来说,除了首行之外的其余各行都应该在通常的缩进级别至上再加4个空格......
  • python 如何优雅的使用retrying进行重试请求
    retrying模块一、简介retrying是一个python的重试包,可以用来自动重试一些可能运行失败的程序段,retrying提供一个装饰器函数retry,被装饰的函数就会在运行失败的情况下重新执行,默认只要一直报错就会不断重试安装:pipinstallretrying二、使用方法1、无参数使用r......
  • Python基础入门:从Hello World到简单函数
    当然可以帮你写一篇Python基础入门的文章。下面是一篇题为《Python基础入门:从HelloWorld到简单函数》的原创文章,内容包括了Python的基本语法、变量、控制流以及简单函数的介绍。文章中也包含了相应的Python代码示例。Python基础入门:从HelloWorld到简单函数Python是一门简洁、易......
  • Python如何去采集APP数据?我下面提供下思路和结构代码
    当涉及到采集APP数据时,Python是一个强大的工具,因为它具有丰富的库和框架,能够帮助你轻松地获取所需的信息。无论是分析竞争对手的市场表现,还是监控用户行为,Python都可以成为你的数据采集和分析的得力助手。本文将介绍如何使用Python采集APP数据的方法,包括Web抓取、API调用和数据清......
  • python轰炸代码
    importpyperclip#需要安装pyperclip库importtimeimportkeyboard#需要安装keyboard库defmain():str="原神,启动!"#轰炸内容time.sleep(5)forjinrange(50):#轰炸次数forstr1instr.split(","):pyperclip.copy(s......
  • Python自动化处理Excel数据
    需求描述:数据格式如下所示,需要分离出2023年7月1号之后的数据明细数据核对与处理:从Excel文件中提取特定日期后的签收数据1.引言在实际数据处理和分析过程中,经常会遇到需要从大量数据中提取出特定日期范围内的信息的需求。本文将介绍如何使用Python的pandas库来处理Excel文件,并......
  • Python JSON 使用指南:解析和转换数据
    JSON是一种用于存储和交换数据的语法。JSON是文本,使用JavaScript对象表示法编写。Python中的JSONPython有一个内置的json包,可用于处理JSON数据。示例:导入json模块:importjson解析JSON-从JSON转换为Python如果您有一个JSON字符串,可以使用json.loads()......
  • Python筛选多个Excel中数据缺失程度最少的文件
      本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个文件内、某一列数据的特征,对其加以筛选,并将符合要求与不符合要求的文件分别复制到另外两个新的文件夹中的方法。  首先,我们来明确一下本文的具体需求。现有一个文件夹,其中有大量的Excel表格文件(在......
  • python实现定时器产生随机数
    【精选】python实现定时器_python定时器-CSDN博客参考的这位博主的python定时器题目长这样:编写一个程序从1~20里随机产生3个数每过5秒加一次,连续加三次后输出结果,下面是代码#-*-coding:utf-8-*-importthreadingimporttimeimportrandomcancel_tmr=Falsecount=0......
  • Python JSON 使用指南:解析和转换数据
    JSON是一种用于存储和交换数据的语法。JSON是文本,使用JavaScript对象表示法编写。Python中的JSONPython有一个内置的json包,可用于处理JSON数据。示例:导入json模块:importjson解析JSON-从JSON转换为Python如果您有一个JSON字符串,可以使用json.loads()......