【问题标题】:How to replace unicode character in file?如何替换文件中的unicode字符?
【发布时间】:2020-09-24 10:43:46
【问题描述】:

我正在使用 java 读取一个文件,并使用“\u0001”作为字段分隔符。 该文件存在于 linux 机器中。

但是当我执行head filename 时,我看不到“\u0001”作为文件中的字段分隔符。我可以知道如何在终端上的文件中查看字段分隔符吗?如何在终端上用其他东西替换“\u0001”?

【问题讨论】:

  • 文件使用什么编码? UTF-8?
  • @Shawn,是的,它的 UTF-8

标签: linux unicode


【解决方案1】:

如果您只是想在显示文件时使用不同的字符以使其更易于阅读:

tr $'\u0001' ',' < thefile.txt

(假设您使用的是bash 或其他支持$'string' style escapes 的shell)

【讨论】:

  • 酷..!你能分享一下它是如何工作的吗?不知道 tr
  • @FreshTransistor tr tr将一组字符转换为另一组字符。在这种情况下,它将字段分隔符从 1 个字节转换为逗号。 ($'\001'$'\x01' 是其他写法)。
【解决方案2】:

这有帮助吗?:

`cat -A filename|head`

cat -A 显示所有字符,但是即使您可以看到这些 invisible 字符,我也不知道您将如何在控制台中分隔这些字符.. 或使用这样的字符作为普通字符的分隔符控制台..

【讨论】:

  • 谢谢,我现在可以看到特殊字符 ^A,但是如何在控制台上替换它?
  • 这就是我在回答中提到的......你将很难在普通控制台中写出或表示那些不可见的字符......我会研究如何用 Python 或其他方式读取这个文件编程语言,它已经有库来解析这些字符。我还要说,如果你正在解析一个非文本文件,而是一个二进制文件?您尝试将非文本文件作为文本读取时走错路了..这总是会导致问题..
猜你喜欢
  • 2021-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-04
  • 1970-01-01
  • 2018-04-19
  • 2011-04-26
  • 1970-01-01
相关资源
最近更新 更多