我正在尝试将一段文本传递给我不拥有的系统,这会将数据传递给我拥有的系统。
不幸的是,当第一个系统与第二个系统通信时,它使用TSV格式。因此,我想知道是否有一种方便的方法来获取我的文本块并以ASCII格式对其进行编码而没有任何类型的空格(当然主要是换行符和制表符),然后再对其进行解码。
当我在进行编码时,我正在使用C#。当我正在进行解码时,我正在使用Javascript。
我意识到我可以通过创建自己的方案来编写自己的代码来实质上“手动”执行编码和解码,但我想知道是否已存在用于此目的。
答案 0 :(得分:2)
一个选项可能会破坏您的数据大小但真的易于实现:UTF-8编码所有文本,base64编码:
byte[] utf8 = Encoding.UTF8.GetBytes(text);
string base64 = Convert.ToBase64(utf);
不包含任何空格,可以转换回来。它会比原来的字符串大得多,而且不可读......但它会起作用。
答案 1 :(得分:2)
您可以尝试使用HttpUtility.UrlEncode(string)或Uri.EscapeDataString(string),这将percent-encode传入文本中的任何空格(以及其他特殊字符,这意味着编码文本可能会更大)比原来的。)
在javascript端,您可以使用decodeURIComponent(string)将其解码回原始文本。