VB.NET - 将字节数组的字符串表示形式转换回字节数组

时间:2015-08-03 18:16:41

标签: arrays vb.net string pdf-generation bytearray

我有一个应用程序调用第三方Web API,返回String,如下所示:

"JVBERi0xLjMNCiXi48/TDQoxIDAgb2JqDQo8PA0KL1R5cGUgL091dGxpbmVzDQovQ291bnQgMA0KPj4NCmVuZG9iag0KMiAwIG9iag0KDQpbL1BERiAvVGV4dCAvSW1hZ2VDXQ0KZW"

(它实际上比这长得多,但是我希望只有一小段代码就足以识别它,而不会让我在一英里长的时间内粘贴一根绳子)

文档说它返回一个Byte数组但是当我尝试直接接受它作为Byte数组时,我会收到错误。我的部分问题是文档并不完全清楚Byte数组代表什么。由于我正在打电话给GetReport函数,我猜它是PDF,但我并不是100%肯定,因为文档根本没有说明。< / p>

所以,无论如何,我得到了这个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数组,但我不会这样做。我知道该怎么做。

任何帮助都会很棒。谢谢!

1 个答案:

答案 0 :(得分:2)

看起来您的字符串可能是Base64编码的,在这种情况下,您可以使用它将其转换为字节:

Dim report As Byte() = Convert.FromBase64String(reportString)