问题标签 [base64]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6561 浏览

c# - base64 和 UTF-8 编码问题

我正在编写一个返回 byte[] 的简单 Web 方法,并且 byte[] 由 UTF-8 编码。我调查了相关的 WSDL 和肥皂消息,似乎底层的 Web 服务堆栈将使用 base64 编码?

由于各种原因,我无法使用或将返回的字节 [] 从 UTF-8 重新编码为 base64。将base64编码修改为UTF-8编码有什么想法吗?

这是我在 WSDL 中的相关 Web 方法、SOAP 消息和相关类型

Web服务服务器端代码

SOAP 响应

WSDL 中的相关类型

提前谢谢,乔治

0 投票
1 回答
2312 浏览

ruby - decode base64 with dollar sign in ruby 1.8.5

I have base64-encoded string (with two dollar signs, so it's not a common base64 string)

The problem: Base64.decode64 (or .unpack("m")) decodes it just fine on my local machine(ruby 1.8.6), but with ruby 1.8.5 (the version used by Heroku) it doesn't work

Any ideas ?

edit:

I have :

$$YTo1OntzOjM6Im1pZCI7czo3OiI3MTE5Njg3IjtzOjQ6Im5hbWUiO3M6MjE6IkthbnllIFdlc3QgLSBTdHJvbmd lciI7czo0OiJsaW5rIjtzOjQ4OiJodHRwOi8vd3d3LmVhc3kxNS5jb20vMDIgU3Ryb25nZXIgKFNuaXBwZXQpMS5tcD MiO3M6OToiX3BsYXl0aW1lIjtzOjU6IjgzMjAwIjtzOjg6Il9uZXh0aWRzIjtzOjEzNDoiMjc1ODE0MDYsMjc0MDE1 NzAsMjI1MTU0MDMsMTU1ODM2NjYsMTYzMTUzMzksMjgwNDY5MTUsMzAzOTMxODksMzUyMDAyMTMsMjIwNTE1MzAsMj c1NTg1MTQsMTM3ODkyNTYsMTk4MTY5OTgsMzA0NzI4MDEsMTUyNTk5NzksMTg5OTkxMzciO30=

I successed in decoding it with '...'.unpack("m") locally but not on the heroku server (ruby 1.8.5, maybe the ruby version it's not the issue)

0 投票
2 回答
3118 浏览

python - Windows上python中的base64 png

如何在 Windows 上使用 python 将 png 图像编码为 base64?

以上在 Linux 和 OSX 中运行良好,但在 Windows 上它将编码前几个字符,然后缩短。为什么是这样?

0 投票
1 回答
7056 浏览

c# - PHP base64_decode C# 等效

我正在尝试模仿执行以下操作的 php 脚本:

  1. 用 + 号替换 GET 变量的每个空格 ($var = preg_replace("/\s/","+",$_GET['var']); )
  2. 解码为 base64:base64_decode($var);

第一个我添加了一个执行base64解码的方法:

但它似乎 UTF-8 没有完成这项工作,所以我尝试了相同的方法,但使用的是 UTF-7

最后要说的是,成功的php解码包含特殊标志,如注册标志和商标标志,但C#版本没有!

另外,php base64_decode 是否受服务器语言影响?

0 投票
2 回答
16051 浏览

security - 识别证书是 der 编码还是 base 64 编码

有没有办法可以知道证书文件的编码类型?

0 投票
4 回答
2716 浏览

encoding - url-safe 和 filename-safe base64 的最佳候选填充字符是什么?

官方 base64 的填充字符是 '=',在 URL 中使用时可能需要进行百分比编码。我正在尝试找到最好的填充字符,以便我的编码字符串既可以是 url 安全的(我将使用编码的字符串作为参数值,例如 id=encodedString)和文件名安全的(我将使用编码的字符串直接作为文件名)。

点 ('.') 是一个受欢迎的候选者,它是 url 安全的,但它并不完全是文件名安全的:Windows 不允许文件名以尾随 dot 结尾

'!' 似乎是一个可行的选择,虽然我用谷歌搜索过,我从未见过有人将它用作填充字符。有任何想法吗?谢谢!

更新:我已经在我的自定义 base64 编码中将“+”替换为“-”(减号)并将“/”替换为“_”(下划线),因此“-”或“_”不再可用于填充字符.

0 投票
4 回答
2537 浏览

.net - Serialize .NET Array to XML as base 64?

I'm writing a custom .NET serializer in C# and want to read and write Array objects to XML using XmlReader and XmlWriter. I would like to base64-encode the Array. The arrays may be 1-, 2- or 3-dimensional and the elements are bool or numeric types.

I'm completely stumped. XmlReader and XmlWriter have methods for reading/writing Byte[] arrays as base64 but I can't figure out how to get from an Array to a Byte[] and back.

The arrays could be large so I would prefer a solution that does not involve copying the array or processing one element at a time. Unsafe code and managed or native C++ are fine. I could use something other than base64 if it is safe for XML.

Thanks for any help or hints.

0 投票
2 回答
4574 浏览

web-services - 使用 Delphi 2007 将 Base64 字符串作为二进制文件保存到磁盘

我有一个 Base64 二进制字符串,它是由第 3 方供应商发送给我们的 XML 文档的一部分,我希望能够将其保存回其原始文件格式 (jpg)。

使用这个问题“使用 php 将 base64 字符串作为二进制文件保存到磁盘”中接受的答案,我可以毫不费力地将字符串保存为 jpg,所以我知道该字符串的格式很好并且是一个 JPG 文件。

但是我如何在 Delphi 2007 中做到这一点?

在网上我找到了一个关于如何将 Base64 转换为 TByteDynArray 的教程,并保存它,但它不能正常工作。我也玩过 Indy 的 IdDecoderMIME,但没有成功。

有谁知道如何做到这一点,或者我应该在哪里寻找?

0 投票
4 回答
3727 浏览

java - 用于 Web 服务的 XML:内联附件

我必须使用单个参数(XML 格式的字符串)调用 Web 服务。我正在通过 XSLT 转换来构建它。到现在为止还挺好。

问题在于这个 XSD 片段:

它将(例如)翻译成这个 XML:

是的,你没看错:我必须以 base 64 二进制格式将文件内容插入 XML 文档。

我想过用 XSLT 插入一个占位符,然后处理 XML 文档以将其替换为实际的文件内容,但我想知道这些场合是否有任何最佳实践,也许是一些超出我知识的花哨 XSTL 技巧或一些 Java可能派上用场的工具。

你会怎么做?

注意:我不能使用带有附件的 SOAP,而且我很清楚上述方法在附件很大的情况下容易失败,但目前我们的对手不会让步。

0 投票
5 回答
108730 浏览

c# - Base64 字符串抛出无效字符错误

我不断收到 Base64 无效字符错误,即使我不应该这样做。

该程序获取一个 XML 文件并将其导出为文档。如果用户需要,它也会压缩文件。压缩工作正常并返回一个 Base64 字符串,该字符串编码为 UTF-8 并写入文件。

当需要将文档重新加载到程序中时,我必须检查它是否压缩,代码很简单:

它检查字符串的开头以查看其中是否包含 GZips 代码。

现在的问题是,我所有的测试都有效。我取一个字符串,对其进行压缩、解压缩,然后将其与原始字符串进行比较。问题是当我得到从 ADO 记录集返回的字符串时。该字符串正是写入文件的内容(最后添加了“\ 0”,但我认为它甚至不会做任何事情,即使修剪掉它仍然会抛出)。我什至将整个字符串复制并粘贴到测试方法中并压缩/解压缩。工作正常。

测试将通过,但代码将使用完全相同的字符串失败?唯一的区别是不是仅仅声明一个常规字符串并将其传递给我,而是从记录集中返回一个。

关于我做错了什么的任何想法?