我们要将很多书籍数字化。我们想在不影响数字图书流程的情况下在原书中标记换行的地方。哪个不可见的Unicode章程可用于标记原始文件中的某些特殊位置?
(\ n将用于表示段落的结尾)
This is a sentence
in the original book that
I want to mark line
break places.
替换*
的正确字符是什么:
This is a sentence * in the original book that * I want to mark line *break places.
答案 0 :(得分:3)
Unicode没有隐藏字符的概念,它表示某些原始的换行符,但不会导致渲染中的换行符。 Unicode对纯文本数据进行编码,并且在呈现纯文本时,其换行符的控制字符会生效。
这里重要的是如何使用文件。如果需要使用纯文本编辑器处理它们,则需要确定:在默认呈现中复制换行符,还是在创建文件时省略它们。你不能让它们隐形。不同的文本编辑器,如Notepad和Emacs,可能会使用不同的行控制约定;一个程序的结尾是另一个程序的结尾。
如果文件只由您创建的程序处理,那么您可以使用您喜欢的任何约定。最合乎逻辑的是: “线和段落分隔符。 Unicode标准提供了两个明确的字符, U + 2028行分隔符和U + 2029段分隔符,分隔线和 段落。它们被认为是表示线条和段落边界的默认形式 在Unicode纯文本中。在每个行分隔符后开始一个新行。一个新的段落 在每个段落分隔符后开始。由于这些字符是分隔符代码,因此无需启动第一行或段落或使用它们结束最后一行或段落。这样做表明后面有一个空的段落或行。段落分隔符可以插入文本段落之间。它的使用允许创建纯文本文件,可以在接收端以不同的线宽布局。行分隔符可用于表示无条件的行尾。“ http://www.unicode.org/versions/Unicode6.1.0/ch16.pdf(PDF中的第6页和第7页)
请注意文本编辑器通常不会理解U + 2028和U + 2029。它们适用于以纯文本格式存储数据。当要渲染文本时,渲染软件可以选择忽略原始分割为线条并将U + 2028视为等效于空格,除非前面有连字符(这会导致无法在没有更高级别的情况下解决的问题)信息:以“foo-”结尾的行以及以“bar”开头的行可以表示单词“foobar”作为换行的连字符,或者带有连字符的化合物“foo-bar”,或者在某些情况下,组合“foo-bar”)。
答案 1 :(得分:0)
使用换行符(LF,"\n"
,0x0A
)和/或回车(CR,"\r"
,0x0D
)。
即,为此目的的常规字符。