我有一个用打字稿编写的快速服务器。
作为atob()
或btoa()
适用于浏览器,在 Nodejs 上。
我们一般用
Buffer.from("some-string").toString('base64')
将字符串编码为 base64。
但是,当我在 TypeScript 中编写代码时,这似乎不起作用。我需要一些帮助。
我在 MS SQL 2012 中使用数据类型“Image”来存储图像。
问题:我在 C# 中的 BASE64 字符串中有一个图像
/9j/4AAQSkZJRgABAQEASABIAAD/4SKhRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAeAAAAcgEyAAIAAAAUAAAAkIdpAAQAAAABAAAApAAAANAALcbAAAAnEAAtxsAAACcQQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykAMjAxNjowMjowNSAxNDo1MTo0MwAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFUKADAAQAAAABAAACWAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAACFrAAAAAAAAAEgAAAABAAAASAAAAAH/2
Run Code Online (Sandbox Code Playgroud)
我将其转换为 C# 中的 byte[],因为我需要将其保存到数据类型 IMAGE 的列中。像这样:
byte[] imageInByteArray =Convert.FromBase64String("MyImage");
Run Code Online (Sandbox Code Playgroud)
保存成功如下:
数据库中的byte[]数组数据 -
现在我尝试检索图像并使用以下命令将其转换回 BASE64:
var imageA = results.Read<byte[]>().ToArray();
string imageB =Convert.ToBase64String(imageA);
Run Code Online (Sandbox Code Playgroud)
现在我得到这样的结果:
MHhGRkQ4RkZFMTAwNTg0NTc4Njk2NjAwMDA0RDREMDAyQTAwMDAwMDA4MDAwNDg3NjkwMDA0MDAwMDAwMDEwMDAwMDAzRTAxMTIw
Run Code Online (Sandbox Code Playgroud)
结果不是我所期待的,应该是这样的
/9j/4AAQSkZJRgABAQEASABIAAD/4SKhRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAeAAAAcgEyAAIAAAAUAAAAkIdpAAQAAAABAAAApAAAANAALcbAAAAnEAAtxsAAACcQQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykAMjAxNjowMjowNSAxNDo1MTo0MwAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFUKADAAQAAAABAAACWAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAACFrAAAAAAAAAEgAAAABAAAASAAAAAH/2
Run Code Online (Sandbox Code Playgroud) 我需要在Windows操作系统上使用命令行在屏幕上生成特定文件的base64数据(不生成文件)。
我已经看到在Unix系统上足以使用
cat <file_name>| base64
Run Code Online (Sandbox Code Playgroud)
获取编码为 base64 的文件内容。
在 Windows 上我无法得到相同的结果。
我找到了这个解决方案:
certutil -encode -f <file_name> tmp.b64 && findstr /v /c:- tmp.b64 && del tmp.b64
Run Code Online (Sandbox Code Playgroud)
但这需要系统生成一个临时文件,所以最后去销毁它。仅使用该certutil
命令,屏幕上的结果就会被包含不相关信息的 3 行所污染。
有人可以帮我在 Windows 上提供一个仅生成 base64 数据的命令吗?
更新:我通过这个新版本的命令改进了屏幕上的结果:
certutil -encode -f <file_name> tmp.b64 && cls && findstr /v /c:- tmp.b64 && del tmp.b64
Run Code Online (Sandbox Code Playgroud)
结果更像是我的要求,但我想避免tmp.b64
每次都创建临时文件。
我正在尝试将 ~66MB zip 文件进行 base64 编码为字符串,并使用 Powershell 将其写入文件。我正在处理一个限制,最终我必须将 base64 编码的文件字符串直接包含到 Powershell 脚本中,这样当脚本在不同位置运行时,可以从中重新创建 zip 文件。我不限于使用 Powershell 来创建 base64 编码的字符串。这只是我最熟悉的。
我当前使用的代码:
$file = 'C:\zipfile.zip'
$filebytes = Get-Content $file -Encoding byte
$fileBytesBase64 = [System.Convert]::ToBase64String($filebytes)
$fileBytesBase64 | Out-File 'C:\base64encodedString.txt'
Run Code Online (Sandbox Code Playgroud)
以前,我使用的文件足够小,编码速度相对较快。然而,我现在发现我正在编码的文件会导致该过程耗尽我所有的 RAM,最终速度慢得难以忍受。我感觉有更好的方法可以做到这一点,并且非常感谢任何建议。
我有一个包含 5 个图像 url 的字符串数组。我正在寻找一种从 url 获取图像的方法,然后将图像编码为 base64 字符串,最后将其插入到另一个数组中。
该解决方案应该适用于颤振中的移动和网络。我一直在寻找解决方案,并使用 File.readAsBytes、Image.toBase64String 等获得了一些技巧,但没有一个对我有用。
如何将 PDDocument(pdf 文档包含文字和图像,如果可能)转换为 Base64 字符串?是否有任何代码建议。请。
base64 ×4
c# ×2
command-line ×1
dart ×1
express ×1
flutter ×1
image ×1
java ×1
pdfbox ×1
powershell ×1
sql-server ×1
typescript ×1
windows ×1