C# 和 Java 之间的 Base64 区别

2023-12-01

image是图像文件的字符串。

我的 C# 代码如下:

Convert.ToBase64String(image);

并用Java编写代码如下:org.apache.commons.codec.binary.Base64.encodeBase64(image.getBytes())

结果不同。

有人说是因为

  • Java 字节:-128 到 127

  • C# 字节:0 到 255

但我该如何解决这个问题呢?我怎样才能实现C#的Convert.ToBase64String()在Java中? 我需要使用 Java 获得与 C# 相同的结果。


首先,您需要认识到一个字节存储 256 个值,无论其有符号还是无符号。如果你想从有符号字节中获取无符号值(这是Java支持的),你可以使用& 0xFF

e.g.

byte[] bytes = { 0, 127, -128, -1};
for(byte b: bytes) {
  int unsigned = b & 0xFF;
  System.out.println(unsigned);
}

prints

0
127
128
255

简单的答案是您不需要具有相同值的 byte[] 。 ;)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 和 Java 之间的 Base64 区别 的相关文章

  • 单个对象的 Monogame XNA 变换矩阵?

    我读过一些解释 XNA Monogame 变换矩阵的教程 问题是这些矩阵应用于 SpriteBatch Begin matrix 这意味着所有 Draw 代码都将被转换 如何将变换矩阵应用于单个可绘制对象 就我而言 我想转换滚动背景 使其自
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • 如何在非控制台应用程序中查看 cout 输出?

    输出到调试窗口似乎相当繁琐 我在哪里可以找到cout如果我正在编写非控制台信息 则输出 Like double i a b cout lt lt b lt lt endl I want to check out whether b is z
  • 使用 C# 读取 Soap 消息

  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • 双枢轴快速排序和快速排序有什么区别?

    我以前从未见过双枢轴快速排序 是快速排序的升级版吗 双枢轴快速排序和快速排序有什么区别 我在 Java 文档中找到了这个 排序算法是双枢轴快速排序 作者 弗拉基米尔 雅罗斯拉夫斯基 乔恩 本特利和约书亚 布洛赫 这个算法 在许多数据集上提供
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List
  • 如何将 PostgreSql 与 EntityFramework 6.0.2 集成? [复制]

    这个问题在这里已经有答案了 我收到以下错误 实体框架提供程序类型的 实例 成员 Npgsql NpgsqlServices Npgsql 版本 2 0 14 2 文化 中性 PublicKeyToken 5d8b90d52f46fda7 没

随机推荐

  • FragmentActivity 上未调用 onCreateOptionsMenu()

    同事 MainActivity类源自FragmentActivity 并且由于某种原因活动的onCreateOptionsMenu 没有接到电话 我有第一个断点onCreate 正在被触发 第二个在onCreateOptionsMenu 这
  • 由于与 google gms 服务版本冲突,FCMPlugin 构建失败

    我在 Windows for Android 上将其与 ionic 2 一起使用 当我添加 cordova plugin fcm 插件时 我无法再构建项目 这是我收到的错误 BUILD FAILED Total time 4 697 sec
  • Codeigniter图片上传mysql

    我想知道如果我将 CodeIgniter 中的图像上传到数据库 我的结果是什么 config upload path 我见过的所有示例都使用文件系统 我在数据库中有文章 并且也想在数据库中存储与文章相关的图像 有人可以帮忙吗 你可以阅读这篇
  • PHP 和 mssql 库可以从 varchar 列中选择超过 256 个字符吗?

    是否有解决方法 除了将列类型更改为文本字段之外 使用 PHP 和 mssql 库选择大型 varchar 字段 例如 varchar 500 PHP 真的将字符数限制为 255 吗 还有比这更拉回来的方法吗 从PHP页面来看 问题似乎出在W
  • 有没有什么方法可以只使用 CSS 来获得倾斜的盒子阴影?

    我想要类似徽标的东西CSS 技巧 但使用 CSS 而不是图像文件 因此可以调整其大小 这可能吗 像这样的图片 纯 CSS 带切角的倾斜阴影 这花了一点时间来完善 但现在横幅下有一个倾斜的阴影 也有切角和多个边框 所有效果 包括背景 徽标和阴
  • 使用自定义选择器和逻辑进行 JQuery 验证

    是否可以将 JQuery Validate 与自定义选择器和验证逻辑一起使用 大致如下 myForm validate rules myattr foo function content return content val contain
  • CLR 在运行时使用的 dll

    我有一个引用 NET DLL 的 C 应用程序 如果这个 DLL 存在于我的应用程序中bin目录和 GAC 然后 CLR 在运行时会选择哪一个 如果 GAC 有最新版本 是否会使用该版本而不是bin 我如何强制 CLR 始终使用我的 CLR
  • 无法阻止被动事件侦听器内的默认行为

    我在用着Framework7 可排序列表它运行良好 只是当列表更改时它不会触发事件 所以我正在尝试一些内置事件 sortable handler on touchstart function e e preventDefault alert
  • FlashDevelop、Haxe 导入 CreateJS?

    我刚刚开始尝试 Haxe 制作一个网络应用程序 我想使用 CreateJS 它有一个 Haxe extern lib 东西 我使用 FlashDevelop 作为我的 IDE 所以我在FlashDevelop中创建了一个新的Haxe JS项
  • 从 jquery ui datepicker maxDate 选项获取日期对象

    通过使用以下 var maxDate selector datepicker option maxDate 输出可以是 1M 20Y 12 12 2013 或更多的任何内容 1M 和 20Y 示例是否可以与本机 JavaScript 一起使
  • Actionscript 3:self 事件侦听器是否会阻止对象被垃圾回收?

    我知道事件侦听器和对对象的引用将阻止垃圾收集器处理对象 我的问题是 放置在对象上的事件侦听器侦听同一对象是否会阻止该对象被垃圾收集 我问是因为这似乎发生在我身上 我正在破坏对某个对象的所有引用 但当其计时器关闭时我仍然看到痕迹 同时 这似乎
  • 如何使用 Angular CLI 安装特定版本的 Angular?

    我搜索了 google 和 Angular cli 文档 但找不到任何使用 Angular CLI 安装特定版本 Angular 的方法 有可能吗 为了回答您的问题 我们假设您对特定的感兴趣angular版本而不是特定的角度 cli版本 A
  • 如何解决MongoDB实例化失败的问题[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 我关注了 MongoDbDocs设置我的第一个 MongoDb 当我使用命令启动 MongoDB 时 C Program Files MongoDB Server 3 4 bin mong
  • jpeg 的有效 base64 字符串

    这是有效的 jpeg base64 字符串吗 data image jpeg base64 9j 4AAQSkZJRgABAQAAAQABAAD 2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgk
  • 如何使 JFrame 内的 JPanel 填充整个窗口?

    在下面的示例中 如何让 JPanel 占用所有 JFrame 我将首选尺寸设置为 800x420 但实际上只填充了 792x391 import java awt Color import java awt Dimension import
  • 带单选按钮的 Android 颜色选择器

    我想创建一组单选按钮来选择颜色 像这样的东西 我怎样才能实现这样的目标 我在原始 RadioButton 上没有找到任何颜色属性 我必须创建自定义控件吗 如果是 有人可以提示我基本步骤 以便我可以尝试一些新的研究吗 我对 Android 很
  • 如果连续行之间的差异满足条件,则计算列的总和

    这是帖子中的一个持续问题如果第二行满足条件 则从每组中删除第一行 下面是一个示例数据集 df lt data frame id c 9 9 9 5 5 4 4 4 4 4 20 20 Date c 11 29 2018 11 29 2018
  • Oracle触发器更新同一个表

    我有一个触发器 我试图用它来更新它侦听的同一个表 但是 在提交创建或更新后 我收到以下错误 ORA 04091 table username ADDRESSES is mutating trigger function may not se
  • 无法保留 DStream 以供下一批使用

    JavaRDD
  • C# 和 Java 之间的 Base64 区别

    image是图像文件的字符串 我的 C 代码如下 Convert ToBase64String image 并用Java编写代码如下 org apache commons codec binary Base64 encodeBase64 i