首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在JAVA中处理"netascii“

在JAVA中处理"netascii“
EN

Stack Overflow用户
提问于 2012-06-07 17:04:33
回答 2查看 995关注 0票数 1

正在用java实现TFTP (RFC 1350)客户端和服务器。

目前支持三种传输模式: netascii (这是“美国信息交换标准代码”1中定义的ascii,并修改了"Telnet协议规范“3)。注意,它是8位ascii。"netascii“一词将在整个文件中使用,指这一特定版本的ascii。);

这在Java术语中意味着什么?在这种模式下,如何读取/写入文件,或转换字符串?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-07 17:33:37

奈塔西似乎被定义为ASCII的8位扩展,但仅限于基本的ASCII,从0x20到0x7F、加8个控制字符 (见第9页):0x00 (NUL)、0x10 (LF)、0x13 (CR)、0x07 (BEL)、0x08 (BS)、0x09 (HT)、0x11 (VT)和0x12 (FF)。

除了确保您的输出仅在此范围内是纯ASCII之外,netascii的另一个要求是换行符总是CRLF,因此您必须相应地进行转换。任何CR只能跟随LF或NUL。

您可以使用阿帕奇公域为您处理这个问题,但是如果您想推出自己的实现,只需在Java中使用US-ASCII编码,然后执行额外的检查,以确保您没有任何不允许的0x00-0x20范围内的控制字符,并最终确保您的新行是CRLFs而不是LFs。

票数 2
EN

Stack Overflow用户

发布于 2012-06-07 17:17:35

问:这在Java术语中意味着什么?

答:我认为这只是意味着在读取或写入这些8位ASCII值时,需要指定字符集:

  • byte[] bytes = string.getBytes("UTF-8");
  • String string = new String(bytes, "UTF-8");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10936478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档