导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:331
阅读量:1045316
访问量:110314
至今:
×
云标签 标签球>>
云标签 - Su的技术博客
博文->>首页 博主的更多博文>>
解决Linux上出现的特殊字符^H、^@、^M
Tags : Linux,Java,特殊字符发表时间: 2020-03-06 20:24:56
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
比如: 转自:Su的技术博客  原文地址:

    最近在用java 远程Linux上执行Shell命令,通过ganymed-ssh2 jar包进行连接,然后执行完命令获得执行结果等数据的处理,将结果打印在日志里,并且使用VIM打开日志文件查看,出现:


也就是出现这些很奇怪的字符(一脸懵~),非常影响查看和让人很疑惑。

通过网上查找资料发现原来是:

^M     是ascii中的'\r', 回车符,是16进制的0x0D,8进制的015,十进制的13。

          其实这个主要是unix和dos上对换行的区别,unix上是\n,dos上是\r\n。

         ^M并不是按键shift + 6产生的^和字母M,, 生成它的办法是在Vim模式上先按CTRL+V, 然后再回车(或CTRL+M)。


^H   是ascii中的'\b' :表示按 Backspace(退格)键。


^@     空字符(ascii 码 0,在程序里一般写作"\0"),在 vim 里就显示成 ^@。


解决:

    1、^M

    可在Vim模式上使用:%s/^M//g,将其去除。如果是Java程序则replaceAll("\r","")即可。

    2、^H

    可在Vim模式上使用:%s/^H//g,将其去除。如果是Java程序则replaceAll("\b","")即可。

    3、^@

    可在Vim模式上使用:%s/^@//g,将其去除。如果是Java程序则replaceAll("\0","")即可。



参考资料:

https://blog.csdn.net/a532672728/article/details/78976639

http://www.blogjava.net/lihao336/archive/2011/04/11/348040.html

http://www.blogjava.net/lihao336/archive/2011/02/28/324872.html


打赏
打赏
关注公众号
公众号
类别:Linux| 阅读(306)| 赞 (0)
评论
暂无评论!
发表评论
昵  称:

验证码:

内  容:

    同时赞一个 赞