我最近一直在 VS Code 中处理一些项目,突然开始在我的代码中收到 btoa 和 atob 现已弃用的通知。除了 VS Code 之外,我找不到任何相关资源。如果这是真的,还有什么替代方案呢?
为了减少服务器上的请求数量,我将一些图像(PNG和SVG)作为BASE64直接嵌入到css中.(它在构建过程中自动化)
像这样:
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAFWHRTb2Z0d2FyZQBBZG etc...);
Run Code Online (Sandbox Code Playgroud)
这是一个好习惯吗?有什么理由可以避免这种情况吗?是否有一些主要的浏览器没有数据网址支持?
奖金问题:为CSS和JS做这个也有意义吗?
我在unsigned char变量中有二进制数据.我需要将它们转换为c中的PEM base64.我查看了openssl库,但我找不到任何功能.有没有人有任何想法?
我没有得到Base64加密.
如果可以解密Base64字符串,它的目的是什么?
为什么它被用于HTTP Basic身份验证?
这就像告诉别人我的密码被反转为OLLEH.
看到OLLEH的人会知道原来的密码是HELLO.
我们可以将字节数组转换为Java中的InputStream吗?我一直在网上看,但找不到它.
我有一个具有InputStream作为参数的方法.
cph
我有的InputStream 是base64编码所以我不得不使用它解码它
BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(cph);
Run Code Online (Sandbox Code Playgroud)
现在我如何decodedBytes
再次转换为InputStream
?
我实际上有一个文件输入,我想检索该文件的Base64数据.
我试过了:
$('input#myInput')[0].files[0]
Run Code Online (Sandbox Code Playgroud)
检索数据.但它只提供名称,长度,内容类型,但不提供数据本身.
我实际上需要这些数据将它们发送到Amazon S3
我已经测试了API,当我通过带有编码类型"multipart/form-data"的html表单发送数据时,它可以工作.
我使用这个插件:http://jasny.github.com/bootstrap/javascript.html#fileupload
这个插件让我预览了图片,并在图像预览的src属性中检索数据.但是,当我将这些数据发送到S3时,它不起作用.我可能需要像"multipart/form-data"那样对数据进行编码,但我不知道为什么.
有没有办法在不使用html表单的情况下检索这些数据?
如何将大型位图(使用手机相机拍摄的照片)转换为Base64字符串?
我想编写一个T-SQL查询,我将字符串编码为Base64字符串.令人惊讶的是,我找不到任何用于执行Base64编码的本机T-SQL函数.是否存在本机功能?如果没有,在T-SQL中进行Base64编码的最佳方法是什么?
这是我的代码:
protected void SaveMyImage_Click(object sender, EventArgs e)
{
string imageUrl = Hidden1.Value;
string saveLocation = Server.MapPath("~/PictureUploads/whatever2.png") ;
HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(imageUrl);
WebResponse imageResponse = imageRequest.GetResponse();
Stream responseStream = imageResponse.GetResponseStream();
using (BinaryReader br = new BinaryReader(responseStream))
{
imageBytes = br.ReadBytes(500000);
br.Close();
}
responseStream.Close();
imageResponse.Close();
FileStream fs = new FileStream(saveLocation, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
try
{
bw.Write(imageBytes);
}
finally
{
fs.Close();
bw.Close();
}
}
}
Run Code Online (Sandbox Code Playgroud)
顶部imageUrl声明采用Base64图像字符串,我想将其转换为图像.我认为我的代码集仅适用于像"www.mysite.com/test.jpg"这样的图像而不适用于Base64字符串.有人有什么建议吗?谢谢!
在C#中是否有一种方法可以查看字符串是否为Base 64编码,而不仅仅是尝试转换它并查看是否存在错误?我有这样的代码:
// Convert base64-encoded hash value into a byte array.
byte[] HashBytes = Convert.FromBase64String(Value);
Run Code Online (Sandbox Code Playgroud)
我想避免如果该值不是有效的base 64字符串,则会出现"Base-64字符串中的无效字符"异常.我想检查并返回false而不是处理异常,因为我希望有时这个值不会是一个基本的64字符串.在使用Convert.FromBase64String函数之前有没有办法检查?
谢谢!
更新:
感谢您的所有答案.这是一个你可以使用的扩展方法到目前为止似乎确保你的字符串将传递Convert.FromBase64String而没有异常.当转换为base 64时,.NET似乎忽略所有尾随和结尾空格,因此"1234"有效,因此"1234"
public static bool IsBase64String(this string s)
{
s = s.Trim();
return (s.Length % 4 == 0) && Regex.IsMatch(s, @"^[a-zA-Z0-9\+/]*={0,3}$", RegexOptions.None);
}
Run Code Online (Sandbox Code Playgroud)
对于那些对测试性能与捕获和异常感到疑惑的人来说,在大多数情况下对于这个基础64事物来说,检查比捕获异常直到达到一定长度更快.它的长度越小越快
在我非常不科学的测试中:对于字符长度100,000 - 110000的10000次迭代,它首先测试快了2.7倍.
对于字符长度为1至16个字符的1000次迭代,总共16,000次测试,它的速度提高了10.9倍.
我确信有一点可以用基于异常的方法进行测试.我只是不知道那是什么意思.
base64 ×10
c# ×2
android ×1
asp.net ×1
bitmap ×1
c ×1
css ×1
encoding ×1
encryption ×1
file ×1
file-upload ×1
html ×1
html-input ×1
inputstream ×1
java ×1
javascript ×1
jquery ×1
security ×1
t-sql ×1
validation ×1