安全ASCII char在存储之前替换空格

Ang*_*gry 2 whitespace ascii

我的代码将大量文本数据传递给遗留的lib,后者负责存储它.但是,它往往会删除尾随空格.当我读回数据时,这是一个问题.由于我无法更改遗留代码,因此我考虑用一些不常见的ASCII字符替换所有空格.当我回读文本时,我可以将它们替换回来.

  1. 这是一个坏主意,考虑到我无法触及传统存储代码?
  2. 我可以用哪个角色代替?我正在考虑一些超过180的char.

数据中只有空格 - 没有制表符或换行符.数据是字母数字,带有特殊字符.

Dou*_*der 6

如果您需要保护的只是尾随空格(嵌入空间没问题),那么在每个文本的末尾添加'$'或类似内容会怎么样.

然后您可以在阅读时将其删除.

如果遗留系统中已有数据,您可能会遇到问题,但是您可以读取所有现有数据,以查找从未在任何现有数据的末尾使用的字符(或字符串),并使用它来标记新字符串(并保护其中的空格).

  • 再添一个.这就像SMTP中的点填充. (2认同)