开发工具分享
  • 首页
  • 计算科学
  • 文化旅游
  • 项目和网站
    • OSSEZ 计算技术
    • USRealEstate 社区
    • 地区文化
    • CWIKI.US
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
CWIKIUS.CN
一个有独立思考和温度的清新站
  1. Home
  2. Computer Science
  3. This article

Python 字符串 Base64

2024年04月19日 423Browse 0Like 0Comments

因消息传输的需要,我们需要对大量文本的字符串进行一下 Base64 转换。

这样的好处是因为在传输的字符串中可能有存在一些特殊字符,这些特殊在经过网络传输的时候会出现编码的问题,并且会影响传输稳定性。

使用 Base64 可以避免这个问题。

 

2024-04-16_13-23-48

 

方法

Python 的 Base64 后就可以完全只以为 ASCII 码进行传输了。

使用的方法为:

 base64.b64encode(json.loads(request_detail_data['Data'])['PolicyText'])

如果我们直接在上面使用字符串的话,程序会抛出类型错误:

TypeError: a bytes-like object is required, not 'str'

 

2024-04-16_13-24-00

 

方法需要使用的字节码,换句话说就是需要字节对象进行加密,不能直接使用字符串。

可以使用的办法就是把字符串 转换为字节码。

name.encode('utf-8')

代码

bs64name = base64.b64encode(name.encode('utf-8'))

哪怕是使用了上面的代码, bs64name为bytes 类型,这就意味着得到的编码结果前带有 b,即b’xxxxxx’。

所以 Python 的 Base64 编码是从字节到字节的。

在完成上面的操作后,我们如果想直接返回字符串,那么我们还需要把字节码转换为字符串。

代码为:

bbs = str(base64.b64decode(bs64name), "utf-8")

上面的输出就为字符串了。

完整的代码为:

 policy_content = json.loads(request_detail_data['Data'])['PolicyText']
 data['policy_content'] = str(base64.b64encode(policy_content.encode("utf-8")), "utf-8")

经过上面 2 次转换就可以完成字符串的编码了。

 

https://www.isharkfly.com/t/python-base64/15646/2

Tags: None
Last updated:2024年04月19日

HoneyMoose

有温度的人文和独立的思考

Like
< Previous
Next >

Comments

Cancel reply

Archives
  • May 2026
  • April 2026
  • March 2026
  • February 2026
  • January 2026
  • December 2025
  • November 2025
  • October 2025
  • September 2025
  • August 2025
  • July 2025
  • June 2025
  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • May 2019
  • April 2019
  • March 2019
  • February 2019
  • January 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
Categories
  • Computer Science (2,362)
    • Confluence (663)
    • Gradle (12)
  • U.S. (482)
  • 文化旅游 (145)

COPYRIGHT © 2020 CWIKIUS. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备2020018253号-1