精华内容
下载资源
问答
  • 二进制数是以 0b或者 0B开头,并且所有字符只能包含 0和 1 比如 0101 是二进制数 八进制 八进制数以 0O或 0开头,并由0~7组成 比如 0266(八进制数) 十进制数 十进制数第一位不是0,除表示正负符号外,要以1-9...

    二进制
    二进制数是以 0b或者 0B开头,并且所有字符只能包含 0和 1

     比如  0101  是二进制数
    

    八进制
    八进制数以 0O或 0开头,并由0~7组成

    比如   0266(八进制数) 
    

    十进制数
    十进制数第一位不是0,除表示正负符号外,要以1-9开头,由0-9组成

      比如 -123(十进制数)123(十进制数)
    

    十六进制数
    十六进制数以0X或0x开头,由0-9,A-F或a-f组成

       比如  0X160Xf1(均为16进制数)
    

    转化
    十六进制 到 十进制

    使用 int() 函数 ,第一个参数是字符串 ‘0Xff’ ,第二个参数是说明,这个字符串是几进制的数。 转化的结果是一个十进制数。

    >>>int('0xf',16)
    15
    二进制 到 十进制

    >>> int('10100111110',2)
    1342
    八进制 到 十进制

    >>> int('17',8)
    15
    其实可以看到,不管 几进制数 转换成 十进制数 ,都是用 int() 函数 。之后后面的 第二个参数 写清楚 前面字符串 是 几进制数就可以 。注意一定要合法。 比如2进制数就不能出现2这样的字符。


    十进制 转 十六进制

    >>> hex(1033)
    ‘0x409’

    二进制 转 十六进制

    就是 二进制先转成 十进制, 再转成 十六进制。

    >>>hex(int('101010',2))
    ‘0x2a’

    八进制到 十六进制

    就是 八进制先转成 十进制, 再转成 十六进制。

    >>> hex(int('17',8))
    ‘0xf’


    十进制转二进制

    >>> bin(10)
    ‘0b1010’

    十六进制转 二进制

    十六进制->十进制->二进制

    >>> bin(int('ff',16))
    ‘0b11111111’

    八进制 到 二进制

    八进制先到十进制,再到二进制

    >>> bin(int('17',8))
    ‘0b1111’


    二进制 到 八进制

    >>> oct(0b1010)
    ‘012’
    十进制到八进制

    >>> oct(11)
    ‘013’
    十六进制到八进制

    >>> oct(0xf)
    ‘017’
    可见oct 函数 可将 任意进制的数 转换成 8进制的。

    展开全文
  • 1、字符串转换: >>> x='123abc' >>> b=bin(int(x,16))[2:] >>> print(b) 100100011101010111100 2、可以看到字符串开头少了很多0,如果想要补充这些0: >>> x='123abc' &...

    1、字符串转换:

    >>> x='123abc'
    >>> b=bin(int(x,16))[2:]
    >>> print(b)
    100100011101010111100

    2、可以看到字符串开头少了很多0,如果想要补充这些0:

    >>> x='123abc'
    >>> b=bin(int(x,16))[2:].zfill(6*4)
    >>> print(b)
    000100100011101010111100

    展开全文
  • Python字符进制转换

    2020-12-21 12:48:26
    Python字符与进制转换0b / 0B --> 二进制字符前缀0o / 0O --> 八进制字符前缀0x / 0X --> 十六进制字符前缀ascii(object)就像函数 repr(),返回一个对象可打印的字符串,但是 repr() 返回的字符串中非 ...

    Python字符与进制转换

    0b / 0B --> 二进制字符前缀

    0o / 0O --> 八进制字符前缀

    0x / 0X --> 十六进制字符前缀

    ascii(object)

    就像函数 repr(),返回一个对象可打印的字符串,但是 repr() 返回的字符串中非 ASCII 编码的字符,会使用 \x、\u 和 \U 来转义。生成的字符串和 Python 2 的 repr() 返回的结果相似。

    1、二进制转八进制

    数字0和英文b:0b10110011111为二进制数据

    oct函数将一个整数转变为一个前缀为“0o”的八进制字符串

    x = "0b10110011111"

    oct(int(x, 2))

    # 结果:

    "0o2637"

    2、二进制数据转十进制

    int函数用于数字或字符转换为整型数据,第二个参数可选为2,8,16,可以将0b / 0B,0o / 0O或0x / 0X作为前缀的字符解释为整型数据。

    x = '0b10110011111'

    int(x, 2)

    # 结果

    1439

    3、二进制转十六进制

    hex函数将整数转换为以“0x”为前缀的小写十六进制字符串

    x = '0b10110011111'

    hex(int(x, 2))

    # 结果

    '0x59f'

    4、八进制转二进制

    bin函数将一个整数转变为一个前缀为“0b”的二进制字符串

    x = '0o2637'

    bin(int(x, 8))

    # 结果

    '0b10110011111'

    5、八进制转十进制

    x = '0o2637'

    int(x, 8)

    # 结果

    1439

    6、八进制转十六进制

    x = '0o2637'

    hex(int(x, 8))

    # 结果

    '0x59f'

    7、十进制转二进制

    x = '1439'

    bin(int(x, 10))

    # 结果

    '0b10110011111'

    8、十进制转八进制

    x = '1439'

    oct(int(x, 10))

    # 结果

    '0o2637'

    9、十进制转十六进制

    x = '1439'

    hex(int(x, 10))

    # 结果

    '0x59f'

    10、十六进制转二进制

    x = '0x59f'

    bin(int(x, 16))

    # 结果

    '0b10110011111'

    11、十六进制转八进制

    x = '0x59f'

    oct(int(x, 16))

    # 结果

    '0o2637'

    12、十六进制转十进制

    x = '0x59f'

    int(x, 16)

    eval("0x" + a[2:])

    # 结果

    1439

    1439

    13、字符串转十进制

    ord函数对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数。例如 ord('a') 返回整数 97, ord('€') (欧元符号)返回 8364

    e = '一'

    ord(e)

    # 结果

    19968

    14、字符串转二进制

    e = '一'

    bin(ord(e))

    # 结果

    '0b100111000000000'

    15、字符串转八进制

    e = '一'

    oct(ord(e))

    # 结果

    '0o47000'

    16、字符串转十六进制

    e = '一'

    hex(ord(e))

    # 结果

    '0x4e00'

    # 转为\u或者uni编码

    hex(ord(e)).upper().replace('0X', r'\u')

    '\\u4E00'

    17、十进制转字符串

    chr(i)函数返回 Unicode 码位为整数 i 的字符的字符串格式。例如,chr(97) 返回字符串 'a',chr(8364) 返回字符串 '€'

    x = 19968

    chr(x)

    # 结果

    '一'

    18、二进制转字符串

    x = '0b100111000000000'

    chr(int(x, 2))

    # 结果

    '一'

    19、八进制转字符串

    x = '0o47000'

    chr(int(x, 8))

    # 结果

    '一'

    20、十六进制转字符串

    x = '0x4e00'

    chr(int(x, 16))

    x = r'\u4E00'

    eval("u'" + x + "'")

    # 结果

    '一'

    展开全文
  • 已知一个二进制串(UTF-8编码格式)列表(每一项为一字节8bit):b=['01010000', '01111001', '01110100', '01101000', '01101111', '01101110', '11100101', '10100100', '10100111', '11100110', '10110011', '10010101...

    已知一个二进制串(UTF-8编码格式)列表(每一项为一字节8bit):

    b=['01010000', '01111001', '01110100', '01101000', '01101111', '01101110', '11100101', '10100100', '10100111', '11100110', '10110011', '10010101']

    #即字符串"Python大法"

    如何将其转换为字符串呢?

    string = ""

    for i in b:

    string += chr(int(i,2))

    print(string)

    #这种方式对应纯ASCII编码的字符串是可以的

    但UTF-8不可以,我们知道UTF-8是变长的,一个字符通常要占到3个甚至4个字节,上述代码运行结果是:

    'Python大æ³x95'

    很明显因为中文字符占到三个字节,自然每个字节chr()一次自然会乱码。那又该如何处理变长的UTF-8编码呢?

    附:

    UTF-8编码方式:

    1.对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母, UTF-8编码和ASCII码是相同的。

    2.对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。

    这里我想到一个处理多字节UTF-8的思路,大家看看是否可行:

    (循环)当检测到一项的前两位是"11"时,用正则提出前面的所有1,即这个字符所占字节数,然后找到后面的字节,去掉10,然后将这几个字节去掉前面的部分("1110"/"10")后剩下的合并,就是这个字符对应的Unicode编码了,然后chr(int(i,2))。

    那么请教大家,这样的思路该如何实现?或者各路大神有什么简便算法呢?抑或是有相关模块可以做这样的处理呢?(初入勿怪)

    展开全文
  • 我们在Python中会遇到很多转换的问题,例如需要字符串,而输入内容为二进制。码的是字符串,却要是字符串。字符串与二进制如何相互转换呢?本文向大家介绍Python字符串与二进制相互转换的两种方法,一个是简单版本...
  • Python:运行时警告:溢出遇到平方,加,乘,减问I'm beginning with Python so I might be asking a not so subtle question, but after quite a lot of research I couldn't resolve this error. I'm actually ...
  • and so on What's the correct way to do this in Python 3? 解决方案 Here's an example of doing it the first way that Patrick mentioned: convert the bitstring to an int and take 8 bits at a time. The ...
  • 1、python二进制表示: python中用 0b 的前缀表示二进制,0o 表示八进制,0x 表示十六进制。 #二进制# >>> 0b10 2 >>> 0b11 3 >>> 0b1101 13 #八进制# >>> 0o10 8 >>&...
  • ASCII到二进制二进制...uu代表“UNIX到UNIX编码”,它负责根据程序的要求从字符串到二进制和ascii值的数据转换。 import binascii text = "Simply Easy Learning" # Converting binary to ascii data_b2a = binasci
  • python3字符串与二进制互相转换

    千次阅读 2021-01-29 07:09:32
    一、前言python中,没有"0-1"形式的二进制类型,但我们依然可以存储二进制类型的数据。利用字符串(string)类型,可以存储二进制数据。即:将二进制数据以字符串的形式存储。下面分享一种字符串和二进制串互相转换的...
  • python进制转二进制的方法

    千次阅读 2021-09-28 08:27:53
    介绍2种十进制转二进制的方法: 1、直接用转换函数 m=bin(a) print(m) # 二进制 2、先把计算出来的二进制数列用字符串存储起来,然后再反向输出此字符串: a=eval(input('请您输入十进制数:')) m='' while a&...
  • 如何在Python中将二进制字符串转换为相应的十六进制值?我有0000 0100 1000 1101,我想使用Python 2.6获得048D。参考方案int以2为底,然后是hex:>>> int('010110', 2)22>>> hex(int('010110', 2))...
  • 使用内置函数实现进制转换...二进制转十进制使用函数:int()实例:123#结果是4int('100',2)注意:上述一定不要忘记加引号,因为二进制是一个字符串如果不加引号会出现如下错误:Traceback (most recent call last):...
  • Python-八进制转二进制input_str = input('请输入待转八进制数:')list_num = []list_octal = []lists = []t = 0def octal_binary():"""用于八进制转二进制"""for i in input_str:list_num.append(i)# print(list_...
  • import structwith open("foo.bin", 'wb') as f:f.write(struct.pack('h', 0b0010010110101))将采用2个字节(16位)...在编辑根据你的评论,以下是一些背景:在文件中写入内容时,总是将其转换为二进制文件。字符是用...
  • Python二进制字符串shi

    2021-01-14 05:42:57
    我正在Python中研究DES算法。在在其中一个函数,即Fiestle函数中,我必须用XOR元素来获得密码。在有没有什么方法可以在python中执行移位操作,下面是我尝试的代码:C0是111100001100101010101111D0是...
  • 对于Python 2中的[ – 〜]中的ASCII字符:>>> import binascii>>> bin(int(binascii.hexlify('hello'), 16))'0b110100001100101011011000110110001101111'相反:>>> n = int('0b...
  • 1 二进制、八进制、十六进制 到 十进制 使用int(str, n)即可完成二进制、八进制、十六进制到十进制的转换: str:是要转换的进制具体数,类型字符串 n:是要转换的进制,类型整型 1.1 二进制 十进制 int(str...
  • Python2.7 IEEE 754字符浮点数 想法其实很简单: (1)取符号位: 对应str[0] (2)取阶码:对应str[1:9] (3)取尾码:对应str[9:] (4)计算小数点位置 (5)根据小数点切分尾码,分别计算整数和小数部分 (6...
  • 解决方案 In python 2.7 strings represent raw bytes (this changes in python 3) You simply need to save the data to a binary type file: with open('file.jpg', 'wb') as handle: handle.write(data_string) ...
  • Python二进制字符串循环

    千次阅读 2020-12-22 12:40:28
    可以使用for循环遍历字符串,方法与处理数字列表的方式相同。在例如:numbers = [1, 2, 3, 4]您可以使用:^{pr2}$在您的例子中,您只需要通过收到的字符串来切换数字列表,该字符串是作为如下参数接收的:aString = ...
  • python - 将十六进制转换为二进制

    千次阅读 2021-01-29 14:20:28
    python - 将十六进制转换为二进制我有ABC123EFFF。我想拥有001010101111000001001000111110111111111111(即二进制代表,例如42位数和前导零)。怎么样?18个解决方案92 votes为了解决左侧尾随零问题:my_hexdata = ...
  • Python3 进制转换(二进制 十进制 十六进制 ASCII字符串转换) Python3 进制转换 编写Convertor类,用于进制与ASCII字符之间互相转换,便于使用 ASCII码及进制之间转换关系 ASCII码介绍: ASCII 全称为 ( American ...
  • python处理二进制数据

    2021-02-03 11:10:18
    有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用struct来处理c语言中的结构体.struct模块中最重要的三个函数是pack(), unpack(), calcsize()...
  • 使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。先看Python官方文档中对这几个内置函数的描述:bin(x)Convert an integer number to a binary string. The result is a valid Python expression. ...
  • 本文实例讲述了Python实现的十进制小数与二进制小数相互转换功能。分享给大家供大家参考,具体如下:十进制小数 ⇒ 二进制小数乘2取整对十进制小数乘2得到的整数部分和小数部分,整数部分即是相应的二进制数码,再用...
  • /usr/bin python3 # -*- coding: utf-8 -*- import binascii def analysis(bin_path: str, out_txt_path: str): with open(bin_path, 'rb') as f: # 读取全部行 all_data = f.readlines() with open(out_...
  • 字符串转换为二进制

    千次阅读 2021-02-11 23:50:16
    我需要一些帮助把字符串转换成二进制。我必须使用我自己的代码,而不是内置函数(除了我可以使用'ord'将字符转换成十进制)。在我遇到的问题是它似乎只将第一个字符转换为二进制,而不是字符串的所有字符。例如,如果...
  • 首先导入所需的包:import structstruct有以下几个主要的函数: # 按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流)pack(fmt, v1, v2, ...)# 按照给定的格式(fmt)解析字节流string,返回...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 169,217
精华内容 67,686
关键字:

python字符转二进制

python 订阅