VB.NET - 将字节数组的字符串表示形式转换回字节数组
VB.NET - Convert String Representation of a Byte Array back into a Byte Array
我有一个应用程序可以调用第三方网站 API returns String
看起来像这样:
"JVBERi0xLjMNCiXi48/TDQoxIDAgb2JqDQo8PA0KL1R5cGUgL091dGxpbmVzDQovQ291bnQgMA0KPj4NCmVuZG9iag0KMiAwIG9iag0KDQpbL1BERiAvVGV4dCAvSW1hZ2VDXQ0KZW"
(实际上比那长得多,但我希望只要一小段就足以识别它,而无需我粘贴一英里长的字符串)
文档说它是 returns 一个 Byte
数组,但是当我尝试直接将它接受为 Byte
数组时,我得到了错误。我这里的部分问题是文档并不完全清楚 Byte
数组代表什么。由于我调用的是 GetReport 函数,我猜它是一个 PDF,但我不能 100% 确定,因为文档根本没有说明。
所以,无论如何,我收到了这个 String
并且我正在尝试将其转换为 PDF。这是它的样子:
Dim reportString As String = GetValuationReport(12345, token.SecurityToken)
Dim report As Byte() = System.Text.Encoding.Unicode.GetBytes(reportString)
File.WriteAllBytes("C:\filepath\myreport.pdf", report)
我很确定中间一行将 String
转换为新的 Byte
数组,而不是简单地将其转换为等效的 Byte
数组,但我不知道怎么做。
任何帮助都会很棒。谢谢!
看起来您的字符串可能是 Base64 编码的,在这种情况下,您将使用它来将其转换为字节:
Dim report As Byte() = Convert.FromBase64String(reportString)
我有一个应用程序可以调用第三方网站 API returns String
看起来像这样:
"JVBERi0xLjMNCiXi48/TDQoxIDAgb2JqDQo8PA0KL1R5cGUgL091dGxpbmVzDQovQ291bnQgMA0KPj4NCmVuZG9iag0KMiAwIG9iag0KDQpbL1BERiAvVGV4dCAvSW1hZ2VDXQ0KZW"
(实际上比那长得多,但我希望只要一小段就足以识别它,而无需我粘贴一英里长的字符串)
文档说它是 returns 一个 Byte
数组,但是当我尝试直接将它接受为 Byte
数组时,我得到了错误。我这里的部分问题是文档并不完全清楚 Byte
数组代表什么。由于我调用的是 GetReport 函数,我猜它是一个 PDF,但我不能 100% 确定,因为文档根本没有说明。
所以,无论如何,我收到了这个 String
并且我正在尝试将其转换为 PDF。这是它的样子:
Dim reportString As String = GetValuationReport(12345, token.SecurityToken)
Dim report As Byte() = System.Text.Encoding.Unicode.GetBytes(reportString)
File.WriteAllBytes("C:\filepath\myreport.pdf", report)
我很确定中间一行将 String
转换为新的 Byte
数组,而不是简单地将其转换为等效的 Byte
数组,但我不知道怎么做。
任何帮助都会很棒。谢谢!
看起来您的字符串可能是 Base64 编码的,在这种情况下,您将使用它来将其转换为字节:
Dim report As Byte() = Convert.FromBase64String(reportString)