有没有跨平台的方法可以将一个字符串编码为另一个没有空格的字符串,然后将其解码回来

本文关键字:字符串 另一个 回来 空格 然后 解码 一个 方法 跨平台 有没有 编码 | 更新日期: 2023-09-27 18:27:07

我正试图将一块文本传递给我不拥有的系统,该系统将把数据传递给我拥有的系统。

不幸的是,当第一个系统与第二个系统通信时,它使用TSV格式。因此,我想知道是否有一种方便的方法可以将我的文本块编码为ASCII格式,而不需要任何空白(当然,主要是换行符和制表符),然后稍后对其进行解码

当我进行编码时,我在C#中工作。当我进行解码时,我使用的是Javascript。

我意识到,我可以编写自己的代码,通过创建自己的方案来"手动"执行编码和解码,但我想知道是否已经存在这样的方案。

有没有跨平台的方法可以将一个字符串编码为另一个没有空格的字符串,然后将其解码回来

一个选项会放大数据的大小,但实现起来非常简单:UTF-8编码所有文本,base64编码:

byte[] utf8 = Encoding.UTF8.GetBytes(text);
string base64 = Convert.ToBase64(utf);

它不包含任何空白,并且可以转换回来。它将明显大于原始字符串,并且无法读取。。。但它会起作用的。

您可以尝试使用HttpUtility.UrlEncode(字符串)或Uri.EscapeDataString(字符串),它将对传入文本中的任何空格(以及其他特殊字符,这意味着编码的文本可能比原始文本大得多)进行百分比编码。

在javascript方面,您可以使用decodeURIComponent(字符串)将其解码回原始文本。