lzb1001 发表于 2022-11-24 18:40:49

关于转义符号\013

我在网上看到:


为什么我在IDLE上测试的结果却是:

编程追风梦 发表于 2022-11-24 18:53:43

你那个013是非法字符吧,或者无法显示,所以变成那个

lzb1001 发表于 2022-11-24 18:54:51

编程追风梦 发表于 2022-11-24 18:53
你那个013是非法字符吧,或者无法显示,所以变成那个

我是看这里的https://zhuanlan.zhihu.com/p/312898771

编程追风梦 发表于 2022-11-24 18:55:22

lzb1001 发表于 2022-11-24 18:54
我是看这里的https://zhuanlan.zhihu.com/p/312898771

我给你看一下

zhangjinxuan 发表于 2022-11-24 20:16:45

lzb1001 发表于 2022-11-24 18:54
我是看这里的https://zhuanlan.zhihu.com/p/312898771

会不会是在 Linux 才有效?我先开一个虚拟机……

zhangjinxuan 发表于 2022-11-24 20:23:57

本帖最后由 zhangjinxuan 于 2022-11-24 20:25 编辑

实锤了,Linux 系统才有效{:10_250:}

lzb1001 发表于 2022-11-24 20:39:38

zhangjinxuan 发表于 2022-11-24 20:23
实锤了,Linux 系统才有效

感谢楼上几位大神的指点,在linux系统下的话,是python2还是python3的版本?

阿奇_o 发表于 2022-11-24 21:47:22

本帖最后由 阿奇_o 于 2022-11-25 13:41 编辑

准确来说,取决于 特定程序如何处理 \013即 \r这个"控制字符"。 当然这里的"程序"一般是操作系统的某个IO处理程序。

所以一般都说 不同的操作系统会有不同的"换行符"。 Windows里就是 \r\n , Unix类的就是 \n (即\010) 。 为什么不是统一的,那是历史原因了。

而至于 单个 \r 能不能识别和被当作 换行符,就取决于特定环境下,特定程序怎么做了。

-------------------------------------
感谢鱼友指出错误,: 没注意进制转换,\r对应的 八进制是\015   \n 对应的八进制是 \012。 这样在Windows是 \015\012 即可 正常换行 了。

lzb1001 发表于 2022-11-24 22:11:45

大家再看看https://baijiahao.baidu.com/s?id=1748567066000037883&wfr=spider&for=pc里面举的例子是不是有问题?

zhangjinxuan 发表于 2022-11-25 07:31:11

lzb1001 发表于 2022-11-24 20:39
感谢楼上几位大神的指点,在linux系统下的话,是python2还是python3的版本?

py2py3都OK

lzb1001 发表于 2022-11-25 08:32:24

zhangjinxuan 发表于 2022-11-25 07:31
py2py3都OK

谢谢

麻烦大神再看看https://baijiahao.baidu.com/s?id=1748567066000037883&wfr=spider&for=pc里面举的例子是不是有问题?

zhangjinxuan 发表于 2022-11-25 09:03:30

lzb1001 发表于 2022-11-25 08:32
谢谢

麻烦大神再看看https://baijiahao.baidu.com/s?id=1748567066000037883&wfr=spider&for=pc里面举 ...

看都看不见写的是什么代码{:10_291:}

zhangjinxuan 发表于 2022-11-25 09:04:31

lzb1001 发表于 2022-11-25 08:32
谢谢

麻烦大神再看看https://baijiahao.baidu.com/s?id=1748567066000037883&wfr=spider&for=pc里面举 ...

能看见一点,是有点问题{:10_277:}

zhangjinxuan 发表于 2022-11-25 09:06:11

本帖最后由 zhangjinxuan 于 2022-11-25 09:10 编辑

lzb1001 发表于 2022-11-25 08:32
谢谢

麻烦大神再看看https://baijiahao.baidu.com/s?id=1748567066000037883&wfr=spider&for=pc里面举 ...

s = \'Hello\\nCharlie\\nGood\\nMorning\'
这是会报错的,字符串前面就是反斜杠

所以说,他的例子举错了!这行代码本身就会报错!

或许他的本意不是这样,我觉得这个十有八九是抄的

lzb1001 发表于 2022-11-25 09:22:02

zhangjinxuan 发表于 2022-11-25 09:03
看都看不见写的是什么代码

图片是有点糊

lzb1001 发表于 2022-11-25 09:22:43

zhangjinxuan 发表于 2022-11-25 09:04
能看见一点,是有点问题

不是有点问题吧,按他的代码,根本不能返回下面的结果啊

lzb1001 发表于 2022-11-25 09:23:12

zhangjinxuan 发表于 2022-11-25 09:06
这是会报错的,字符串前面就是反斜杠

所以说,他的例子举错了!这行代码本身就会报错!


关键他下面还能返回正确的结果

lzb1001 发表于 2022-11-25 09:24:12

zhangjinxuan 发表于 2022-11-25 09:06
这是会报错的,字符串前面就是反斜杠

所以说,他的例子举错了!这行代码本身就会报错!


应该把头尾两个反斜杠去掉就可以了

lzb1001 发表于 2022-11-25 09:26:24

zhangjinxuan 发表于 2022-11-25 09:06
这是会报错的,字符串前面就是反斜杠

所以说,他的例子举错了!这行代码本身就会报错!


还有下面这个,大神再看看,出自http://c.biancheng.net/view/4227.html



红框处好像也行不通,你试试看

zhangjinxuan 发表于 2022-11-25 09:55:56

lzb1001 发表于 2022-11-25 09:24
应该把头尾两个反斜杠去掉就可以了

也不行,中间的:\\n 不能实现换行,只有 \n 才可以
页: [1] 2 3
查看完整版本: 关于转义符号\013