首页 > 编程语言 >base64是什么,在 C# 中对 Base64 字符串进行编码和解码

base64是什么,在 C# 中对 Base64 字符串进行编码和解码

时间:2024-09-05 14:04:43浏览次数:13  
标签:Convert Base64 string C# base64 字符串 字节

原文链接:https://blog.csdn.net/ty_oldman/article/details/116306785

                https://blog.csdn.net/qq_55752792/article/details/139681358

base64是什么
Base64编码,是由64个字符组成编码集:26个大写字母AZ,26个小写字母az,10个数字0~9,符号“+”与符号“/”。Base64编码的基本思路是将原始数据的三个字节拆分转化为四个字节,然后根据Base64的对应表,得到对应的编码数据。

当原始数据凑不够三个字节时,编码结果中会使用额外的**符号“=”**来表示这种情况。

 

  1. 使用 C# 中的 Convert.ToBase64String() 方法将字符串编码为 Base64 字符串
  2. 使用 C# 中的Convert.FromBase64String() 方法从 Base64 字符串解码字符串

使用 C# 中的 Convert.ToBase64String() 方法将字符串编码为 Base64 字符串

Convert 类可以在 C# 中将一种基本数据类型转换为另一种基本数据类型。Convert.ToBase64String() 方法将字节数组转换为 C# 中的 base64 字符串变量。要将字符串变量转换为 base64 字符串,我们必须首先将该字符串转换为字节数组。Encoding.UTF8.GetBytes() 方法将字符串变量转换为 C# 中的字节数组。以下代码示例向我们展示了如何使用 C# 中的 Convert.ToBase64String() 函数将字符串变量编码为 base64 字符串。

using System;
using System.Text;

namespace encode_and_decode_base64_string
{
    class Program
    {
        public static string Base64Encode(string plainText)
        {
            var plainTextBytes = Encoding.UTF8.GetBytes(plainText);
            return System.Convert.ToBase64String(plainTextBytes);
        }
        static void Main(string[] args)
        {
            string original = "This is a string";
            Console.WriteLine("Original String = " + original);
            string base64 = Base64Encode(original);
            Console.WriteLine("Encoded String = "+base64);
        }
    }
}

输出:

Original String = This is a string
Encoded String = VGhpcyBpcyBhIHN0cmluZw==

我们将值 This is a string 的字符串变量 original 编码为值 VGhpcyBpcyBhIHN0cmluZw== 的 base64 字符串 base64。我们首先使用 Encoding.UTF8.GetBytes(plainText) 函数将字符串 plainText 转换为字节数组 plainTextBytes。我们使用 Convert.ToBase64String(plainTextBytes) 函数将字节数组 plainTextBytes 编码为 base64 字符串。

使用 C# 中的 Convert.FromBase64String() 方法从 Base64 字符串解码字符串

Convert.FromBase64String() 方法可以将 base64 字符串变量转换为 C# 中的字节数组。要将 base64 编码的字符串转换为标准字符串变量,我们必须使用以下方法中的 [Encoding.UTF8.GetString() 方法将 Convert.FromBase64String() 方法返回的字节数组转换为字符串变量。C#。以下代码示例向我们展示了如何使用 C# 中的 Convert.FromBase64String() 函数将 base64 字符串解码为字符串变量。

using System;
using System.Text;

namespace encode_and_decode_base64_string
{
    class Program
    {
        public static string Base64Decode(string base64EncodedData)
        {
            var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
            return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
        }
        static void Main(string[] args)
        {
            string base64 = "VGhpcyBpcyBhIHN0cmluZw==";
            Console.WriteLine("Encoded String = "+base64);
            string original = Base64Decode(base64);
            Console.WriteLine("Decoded String = "+original);
        }
    }
}

  

输出:

Encoded String = VGhpcyBpcyBhIHN0cmluZw==
Decoded String = This is a string

我们将值 VGhpcyBpcyBhIHN0cmluZw== 的 base64 字符串 base64 解码为值为 This is a string 的字符串变量 original。我们首先使用 Convert.FromBase64String(base64EncodedData) 函数将 base64EncodedData 字符串转换为字节数组 base64EncodedBytes。我们使用 Encoding.UTF8.GetString(base64EncodedBytes) 函数将字节数组 base64EncodedBytes 转换为字符串变量 original。

标签:Convert,Base64,string,C#,base64,字符串,字节
From: https://www.cnblogs.com/Dongmy/p/18398301

相关文章

  • sicp每日一题[1.45]
    Exercise1.45WesawinSection1.3.3thatattemptingtocomputesquarerootsbynaivelyfindingafixedpointofy->x/ydoesnotconverge,andthatthiscanbefixedbyaveragedamping.Thesamemethodworksforfindingcuberootsasfixedpointsof......
  • YOLOv8改进 | 注意力篇 | YOLOv8引入MSCAAttention(MSCA)注意力机制
    1. MSCA介绍1.1 摘要:我们提出了SegNeXt,一种用于语义分割的简单卷积网络架构。由于自注意力在编码空间信息方面的效率,最近基于变压器的模型在语义分割领域占据了主导地位。在本文中,我们证明卷积注意力是一种比Transformer中的自注意力机制更高效、更有效的编码上下文......
  • 初始化BeanFactory专项:obtainFreshBeanFactory16
    一、IOC容器的刷新环节快速回顾publicabstractclassAbstractApplicationContextimplementsApplicationContext{@Overridepublicvoidrefresh()throwsBeansException,IllegalStateException{synchronized(this.startupShutdownMonitor){......
  • FBM227 P0927AC 控制器模块
    FOXBORO FBM227P0927AC  控制器模块1.锅炉吹扫2.主燃油行程(MFT)条件,包括先出3.燃油跳闸,包括先出4.安全联锁5.火焰探测6.点火和停机的分组启动7.监督和控制磨机和/或燃烧器的启动和关闭顺序8.告警异常情况FOXBORO隶属于英维思集团魔下。美国Foxboro公司是一家......
  • PM864AK01-eA-3BSE018161R2 CPU单元处理器
    ABBPM864AKO1 eA3BSE018161R2  CPU单元处理器产品详情:CPU单元处理器的应用领域与处理器单元套件相似,可能包括但不限于以下几个方面:1.工业自动化控制:CPU单元处理器可以用于工业过程控制、生产线自动化、机械控制等领域,以实现各种自动化控制任务。2.分布式控制系统......
  • opencv实战项目二十:检测箱盖的旋转角度以及位置
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、算法流程:二、算法实现:2.1二值化箱盖并获取最大轮廓:2.2凸包与多边形近似提取矩形2.3最小外接矩形获取角度与位置三,整体代码实现:四,实现效果:前言在当今的工业自动化领域,精密制造和......
  • 仿真软件Comsol下载:附安装包+详细安装步骤
    Comsol多物理场仿真软件给大家提供了一个方便易用的多物理场耦合仿真平台,事实上,这是一个支持多种语言的图形化操作界面,其中包括简体中文。Comsol6.2版本比较常用,它提供大量的用于电气、机械、流体流动和化工等应用领域的物理场接口,可以无缝地耦合任意数量的模块来处理极具挑......
  • Magic推出100M个token的上下文
      每周跟踪AI热点新闻动向和震撼发展想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行!订阅:https://......
  • 思维导图软件:Xmind 2024 (Win&Mac) 特别版
    XMind是一款强大的思维导图和头脑风暴软件,它以其直观、易用和功能丰富的特点,帮助用户捕捉灵感、整理思绪、结构化思考和高效演示。以下是XMind的一些核心特性:多种结构:XMind提供了多种思维导图结构,如鱼骨图、组织结构图、时间轴、树型表格等,以适应不同的思维整理需求。跨......
  • 最新ps2024软件:Photoshop 2024 (Win&Mac)直装版
     Photoshop2024是AdobeSystems发布的最新版图像编辑软件,它继承了Photoshop系列一贯的强大功能和专业特性,并在此基础上进行了多项改进和优化。Photoshop2024作为Adobe的旗舰级图像编辑软件,不仅继承了前代产品的优秀特性,还在功能和性能上进行了显著提升。它凭借强大的图像处......