Unicode 代码点
在传递该字符的Unicode code point 时调用Character.toString。
了解Unicode 是US-ASCII 的超集。 ASCII 中的所有 128 个字符构成了 Unicode 中定义的 144,697 个字符中的前 128 个字符,位于代码点 0-127。
对于组分隔符不可打印字符,其代码点的十进制整数为 29。
\u001D
您可以使用其十六进制版本1D 作为String 文字中的转义Unicode 代码点写入该数字29:\u001D。
"dog\u001Dcat" // A string of seven characters.
Character.toString( 29 )
为了经常使用,定义一个常量。
调用Character.toString( 29 ) 会生成一个String,其中包含一个字符,即您的组分隔符。
final String FILE_SEPARATOR = Character.toString( 28 ) ;
final String GROUP_SEPARATOR = Character.toString( 29 ) ;
final String RECORD_SEPARATOR = Character.toString( 30 ) ;
final String UNIT_SEPARATOR = Character.toString( 31 ) ;
或者用静态创建一个类。为简洁起见,我们使用 ASCII 中定义的两个字符的缩写名称。
public class Ascii
{
static final String FS = Character.toString( 28 ) ;
static final String GS= Character.toString( 29 ) ;
static final String RS= Character.toString( 30 ) ;
static final String US= Character.toString( 31 ) ;
}
用法:
myStringBuilder.append( Ascii.GS ) ;
如果不熟悉这些分隔符,请参阅问题What are the file/group/record/unit separator control characters and their usage?。
顺便说一句,在研究这个问题时,我发现 Unicode 还定义了一个字符 SYMBOL FOR GROUP SEPARATOR(代码点 9,245),用于需要明显显示某些内容的文档,这意味着不可打印的字符。