【问题标题】:How to print string exactly as it is read from a file? [duplicate]如何完全按照从文件中读取的方式打印字符串? [复制]
【发布时间】:2019-09-07 02:17:43
【问题描述】:

我读到了这个字符串:

"\u0093 Safe area to answer the phone\u0094."

但是当我想在文件中发送或重写时,它看起来像这样:

" Safe area to answer the phone."

我需要打印原始字符串。

【问题讨论】:

  • 有些事情(重要的!)您没有告诉我们,我们无法从您提供的信息中猜测。 minimal reproducible example 是一个很好的建议。
  • \u0093 是 Unicode“设置传输状态”字符 (unicode-symbol.com/u/0093.html),而 \u0094 是“取消”字符 (unicode-symbol.com/u/0094.html)。它们听起来都可以追溯到电传打字机时代(尽管 8 位(而不是 7 位)的电传打字机字符让我感到惊讶)。我不希望任何一个都是可打印的。 “看起来像这样”是什么意思
  • 取决于你想要的两个副本之一应该解决你的问题(无论你想要\t 是输出还是\u000a)......如果你想要其他Unicode范围被转义,你'必须调整stackoverflow.com/a/1615860/477420 中的代码以符合您的确切要求。
  • 但这仍然引出了 OP 究竟在哪里看到“\u0093”的问题。如果他只是从一个文本文件中读取,并将他读取的内容准确地写回另一个文本文件,那么应该没有问题。

标签: c# .net


【解决方案1】:

\u0093 正是 C​​# 语言表示不可打印字符的方式。这叫“逃跑”。所以打印的内容实际上就是文件中的内容。一个更流行的例子是换行符显示为 '\n'。 有关如何执行 C# 语言正在执行的操作并打印转义字符的代码 sn-p,请参见 Can I convert a C# string value to an escaped string literal

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 2015-12-03
    • 1970-01-01
    相关资源
    最近更新 更多