[英]Adding non printable chars to a string in Java?
我需要在 java 中的字符串中添加一些不可打印的字符,以便它可以通過 tcp 管道發送。 字符對我使用的協議有什么意義(分別是記錄分隔符和消息結尾)
這樣做的最佳方法是什么?
理想情況下,我喜歡將它們稱為常量,以便我可以使用字符串連接/stringbuilder/string.format 在需要的地方添加它們,而不必將它們輸入出來。
出於好奇,我需要的字符是 ASCIIx1E(記錄分隔符)和 ACSIIx03(文本結束)。
public final class ProtocolConstants {
public final char RECORD_SEPARATOR = 0x1e;
public final char END_OF_TEXT = 0x03;
private ProtocolConstants() {}
}
類似的東西?
如果您願意,可以將這些寫為 Unicode 文字(以字符或字符串形式):
final String endOfText = "\u0003";
我假設您實際上並不需要ASCII用於基於字節的協議(字符仍然是 16 位)。
您可以向 Java String
添加任何字符。 但是如果您只想傳輸二進制數據, String
可能不是您想要的。 考慮使用byte[]
或其他一些面向字節的接口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.