首页 > 其他分享 >Base64 和 Base58 的区别

Base64 和 Base58 的区别

时间:2025-01-23 23:28:09浏览次数:3  
标签:区别 编码 字节 字符 Base64 Base58 24

Base64 编码说明

Base64 是一种基于 64 个可打印字符来表示二进制数据的表示方法,由于 2^6=64,所以每 6 个比特为一个单元,对应某个可打印字符。

Base64 常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,包括 MIME 的电子邮件及 XML 的一些复杂数据。

Base64 编码要求把 3 个 8 位字节(3*8=24)转化为 4 个 6 位的字节(4*6=24),之后在 6 位的前面补两个 0,形成 8 位一个字节的形式。 如果剩下的字符不足 3 个字节,则用 0 填充,输出字符使用 =,因此编码后输出的文本末尾可能会出现 1个 或 2 个 =。

为了保证所输出的编码位可读字符,Base64 制定了一个编码表,以便进行统一转换。编码表的大小为 2^6=64,这也是 Base64 名称的由来。

在 Base64 中的可打印字符包括字母 A-Z、a-z、数字 0-9,这样共有 62 个字符,此外两个可打印符号在不同的系统中而不同,通常是 + 和 / 。

Base58 编码说明

Base58主要是基于Base64,在Base64基础上去掉了容易混淆的一些字符,例如数字0和字母O 等6个符号。

​目前用途比较多的就是区块链、钱包地址领域。

58个字符:123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

9个阿拉伯数字(去掉0)+ 24个大写字母(去掉I和O)+ 25小写字母(去掉l)

另外:不使用 + 和 / 符号

标签:区别,编码,字节,字符,Base64,Base58,24
From: https://blog.csdn.net/hicode0101/article/details/145313492

相关文章

  • C++中static和const的区别和用法
    在C++中,static和const是两个关键字,它们各自有不同的用途和语法。下面是它们的主要区别和用法:const关键字const关键字用于声明一个常量,即该变量的值在初始化后不能被修改。用法:局部变量:voidfunc(){constinta=10;//a是一个常量,值为10,不能在函数内部修改......
  • 正向代理和反向代理的定义以及区别
    代理服务器部署在客户端和服务器之间的服务器,可以代替客户端和服务器发送或接收消息正向代理定义正向代理,也是客户端代理,当客户端要访问目标服务器时,会先发送请求到代理服务器,由代理服务器将请求转发到目标服务器,并且接收目标服务器的响应,将响应返回给客户端。而目标服......
  • 白话大模型概念,一起来看看Phi小模型系列区别:mini、small、medium 和 vision 版本
    大家好,我是编程乐趣。前面文章,我们已经初步感受到Phi的魅力了,见《Phi小模型开发教程:用C#开发本地部署AI聊天工具,只需CPU,不需要GPU,3G内存就可以运行,不输GPT-3.5》。今天我们以Phi为例子来学习大模型的各种专业性的术语。Phi-3系列包括mini、small、medium和vision版......
  • 智能合约调用外部合约和继承接口合约的区别
    简介在区块链开发中,智能合约是核心构件,用于实现分布式应用的逻辑。在开发智能合约时,开发者可能需要与其他合约进行交互,这可以通过调用外部合约或继承接口合约来实现。这两种方式有着显著的区别,各自适用于不同的场景。本文将详细探讨两者的不同点、优劣势以及适用场景。一、......
  • 二进制安装和基于kubeadm安装的区别
    Kubernetes部署方式对比:二进制安装与Kubeadm工具安装在Kubernetes(K8s)的部署过程中,主要可以选择二进制安装或使用Kubeadm工具两种方式。二者在复杂性、灵活性和适用场景上存在显著差异。1.二进制安装特点:手动与细致:二进制安装需要下载官方提供的各个组件(如......
  • Pod的探针区别
    Kubernetes中的Pod探针:监控容器运行状态的核心机制在Kubernetes(简称K8s)中,Pod可以通过三种类型的探针(Probe)来监控容器的运行状态,确保应用程序的健康和服务稳定性。这三种探针分别是:1.存活探针(LivenessProbe)功能:检查容器是否仍然处于正常运行状态。如果Liveness探针......
  • Python和Python 3 的区别
    Python和Python3都是非常流行的编程语言,在开发中都有各自的优点和特点。以下是其中一些值得注意的区别:代码兼容性:Python2.x和Python3.x不兼容,这是最重要的区别之一。Python2.x是早期版本,而Python3.x是重大更新后的版本,并且不完全向后兼容。这意味着在迁移过程中,需......
  • 【转】[WPF] 在设置 DataGrid 的列隐藏时,Hidden 和 Collapsed 的区别
    转自:kimi.ai在WPF中,DataGrid的列隐藏通常通过设置列的Visibility属性来实现,而Visibility属性有三个可能的值:Visible、Hidden和Collapsed。虽然它们都可以用来隐藏元素,但在某些情况下,它们的行为是不同的。Visibility 属性的三种状态Visibility.Visible元素完全可见......
  • ‌SN和PN的区别
    ‌SN和PN的区别主要体现在定义、用途和编号规则上。‌‌12‌定义和用途‌:‌SN(SerialNumber)‌:产品序列号,又称机器码、认证码、注册申请码等。它是为了验证产品的合法身份而引入的概念,确保用户可以享受正版权益和服务。每个正版产品只对应一组唯一的序列号。‌PN(PartNumber)......
  • 你有使用过BackboneJS吗?说说它和vue有什么区别?
    BackboneJS与Vue的区别在前端开发中,BackboneJS和Vue都是颇受欢迎的框架,但它们在设计理念、功能特性以及使用体验上存在显著差异。以下是对两者主要区别的详细分析:一、设计理念与核心思想BackboneJS:Backbone是一个轻量级的JavaScript框架,旨在为Web应用程序提供结构。它注重于......