zoukankan      html  css  js  c++  java
  • 回车换行浅析

     012 10  x0a  return
    
     015 13  x0d  newline

    Unix系统里,每行结尾只有“<换行>”,即“ ”;
    Windows系统里面,每行结尾是“<回车><换行>”,即“ ”;
    Mac系统里,每行结尾是“<回车>”。

    一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

    实验1:
    先生成一个换行( , 0x0A)和回车( , 0x0D)组合的文本

    $ echo -en '12
    34
    56
    
    78
    ' > tmp


    以十六进制方式查看文本

    $ od -t x1 tmp
    0000000 31 32 0a 33 34 0d 35 36 0a 0d 37 38 0d 0a
    0000016

    // 0000016, 8进制表示长度
    /r/n -> ^M
    /n/r -> 换行 + ^M

    不同进制输出文件内容

    od dump files in octal and other formats
    hexdump ascii, decimal, hexadecimal, octal dump

    实验2:

    1、^M 是ascii中的' ', 回车符,是16进制的0x0D,八进制的015,十进制的13
    ^M在vi编辑器中可以使用Ctrl+ v + m三个键打出来 ,双字节字符

    $ od -t x1 cc
    0000000 0d 0a
    0000002

    2、直接在vim 中输入 ^M

    $ od -t x1 dd
    0000000 5e 4d 0a
    0000003
  • 相关阅读:
    linux内核启动汇编部分详解
    linux内核zImage详解
    Linux内核zImage怎么来的?
    Linux内核编译make做了什么?
    关于makefile的几点经验
    note
    tmp0000
    tmp
    SSL学习与总结
    C++学习笔记
  • 原文地址:https://www.cnblogs.com/brookin/p/3999279.html
Copyright © 2011-2022 走看看