如何在 JScript 中解码 Base64 字符串

2024-05-30

我必须在 JScript 中解码 Base64 字符串,并且我已经尝试使用此代码来执行目的操作:

var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
var el = xmlDom.createElement("tmp");
el.dataType = "bin.Base64"
el.text = "aGVsbG8gd29ybGQ=";
WScript.Echo(el.nodeTypedValue);

但不幸的是,它不起作用。它应该显示消息Hello world但返回的信息却是一堆汉字。这是一个屏幕作为证据

并且,是否有另一种方法来解码 Base64 编码的字符串?


您必须执行一些额外的步骤才能获取解码后的 Base-64 的文本表示形式。

的结果el.nodeTypedValue将是包含解码后的 Base-64 数据的字节数组。这需要转换为文本字符串。我假设使用 utf-8 作为示例,但您可能需要修改它以适合您的文本编码。

var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
var el = xmlDom.createElement("tmp");
el.dataType = "bin.Base64"
el.text = "aGVsbG8gd29ybGQ=";
//WScript.Echo(el.nodeTypedValue);

// Use a binary stream to write the bytes into
var strm = WScript.CreateObject("ADODB.Stream");
strm.Type = 1;
strm.Open();
strm.Write(el.nodeTypedValue);

// Revert to the start of the stream and convert output to utf-8
strm.Position = 0;
strm.Type = 2;
strm.CharSet = "utf-8";

// Output the textual equivalent of the decoded byte array
WScript.Echo(strm.ReadText());
strm.Close();

这是输出:

请注意,此代码不适合生产。使用完物品后,您需要对其进行整理。

还有其他方法可以将字节数组转换为字符。这只是其中一个例子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 JScript 中解码 Base64 字符串 的相关文章

  • 从Asynctask返回结果

    如果我的 Android 应用程序中有这个后台工作文件 并且它从我的数据库获取数据 我如何将字符串 结果 传递给另一个类 后台工作人员连接到我的服务器 然后使用 php 连接到数据库 public class BackgroundWorke
  • 如何在不改变的情况下将字符串转换为字节?

    我需要一个解决方案将字符串转换为字节数组而不需要像这样进行更改 Input String s Test Output String s Test byte b Test 当我使用 s getBytes 那么回复是 B 428b76b8 但我
  • 迭代字符串 R 的字符

    有人可以解释一下为什么这不会在 R 中单独打印所有数字 numberstring lt 0123456789 for number in numberstring print number 字符串不就是字符数组吗 在 R 中该怎么做 In
  • 如何在 Vim 中对所选文本执行“base64 –decode”?

    我正在尝试执行base64 decode在可视化模式下选择的一段文本上 但似乎是整行传递给base64命令 而不仅仅是当前选择 我在可视模式下选择文本 然后进入普通模式 这样我的命令行如下所示 lt gt base64 decode 如何仅
  • PHP 中内爆函数的可能限制

    我有以下代码 但没有按我的预期返回 我希望最终结果是一个字符串 organizers array unique organizers this returns correctly organizers implode organizers
  • 在 Python 中组合正则表达式 - \W 和 \S

    我希望我的代码只返回特殊字符 我想删除所有数字 字母字符 W 和所有空白 S import re original string John is happy He owns 3 4 12 apples new string re finda
  • 不区分大小写的列表

    我需要一个不区分大小写的列表或集合类型 字符串 创建一个最简单的方法是什么 您可以指定要在字典的键上获得的比较类型 但我找不到列表的类似内容 假设您使用的是 NET 3 5 您可以使用 var strings new HashSet
  • 如何将 LPWSTR 转换为 GUID?

    我正在使用 Windows 7 音频 API 但遇到了困难 基本上 我需要采取IAudioSessionControl2 http msdn microsoft com en us library dd368248 VS 85 aspx 并
  • java中将字符串的一部分转换为int

    我想知道如何获取字符串中的一些数字并将它们转换为整数类型 例如 如果用户输入 12 15pm 我如何获得 1 和 2 并生成值为 12 的 int 鉴于上面的例子 你可以尝试这样的事情 final int value Integer par
  • Dart tryParse double 与 double 字符串

    似乎与 Dart 中使用 tryParse 的方式有些不一致 或者我正在以一种愚蠢的方式处理它 很可能是后者 当我们使用 int tryParse 语句时 如果我们将 10 0 作为双精度值传递给它 我们将期望得到 10 print int
  • java 如何检查字符串是否包含大写

    我正在开发一个程序 它允许用户输入字母数字键 并根据某些条件检查它是否是有效键 其中之一是该键是否包含大写字母 这是我到目前为止所尝试过的 else if key contains QWERTYUIOPASDFGHJKLZXCVBNM UI
  • 带有特殊/unicode 字符的 toLowerCase 会引发异常

    如我错了请纠正我 If str有一个字符 例如 然后运行 str toLowerCase Locale English 抛出空指针异常 这就是我所看到的行为 那么这是怎么回事呢 这是怎么回事 未指定 toLowerCase 抛出空指针异常
  • Python:用一个空格替换双空格并删除单个空格

    我想改变这样的字符串 T h i s i s a t e s t to This is a test 这是我的代码 有效 while in s s s replace while in s s s replace while in s s
  • 拆分计算器的输入字符串

    我正在尝试拆分用户为我的计算器提供的输入 例如 如果用户输入 23 45 1 1 我希望将其拆分为 23 45 1 1 你正在寻找的东西叫做lexer A lexer将输入分割成块 称为tokens 您可以阅读 幸运的是 您的词法分析器非常
  • 在样式定义中使用@string资源

    我在 styles xml 文件中定义了类似以下内容 如下所示 但是Android由于使用 string fontExtraLarge而崩溃 我假设这是因为定义的顺序 但这合法吗 我可以使用样式 parent 属性来解决此问题 但对于只有一
  • 如何从整数生成 unicode 字符?

    我想创建一个 Unicode 字符数组 但我不知道如何将整数转换为 Unicode 表示形式 这是我到目前为止的代码 NSMutableArray uniArray NSMutableArray alloc initWithCapacity
  • python 中字符串到 OrderedDict 的转换

    我通过导入集合创建了一个 python 有序字典并将其存储在名为 filename txt 的文件中 文件内容看起来像 OrderedDict 7 0 6 1 5 2 4 3 我需要从另一个程序使用这个 OrderedDict 我这样做 m
  • StringPiece/StringRef 习惯用法没有更流行有什么原因吗?

    从文档中Chromium源代码中的StringPiece类 http src chromium org viewvc chrome trunk src base string piece h view markup A string lik
  • 如何在 C++11 中将 u32string 转换为 int?

    我们怎样才能转换u32string to int在 C 11 中 另外 我应该使用什么方法将此类字符串的一部分转换为int 假设有开始和结束迭代器可用 我试过了 u32string test U 14 cout lt lt atoi tes
  • 转换为 Base 64 时,TypeError: 'str' 不支持缓冲区接口 [重复]

    这个问题在这里已经有答案了 im Image open filePath load image self msg str bytearray list im getdata convert image data to string enco

随机推荐