专栏名称: 芋道源码
纯 Java 源码分享公众号,目前有「Dubbo」「SpringCloud」「Java 并发」「RocketMQ」「Sharding-JDBC」「MyCAT」「Elastic-Job」「SkyWalking」「Spring」等等
目录
相关文章推荐
芋道源码  ·  分享一次 ShardingJDBC ... ·  4 天前  
芋道源码  ·  12月跳槽的兄弟注意了。。 ·  5 天前  
芋道源码  ·  SpringBoot + ... ·  5 天前  
51好读  ›  专栏  ›  芋道源码

既生“/”,何生“\”?

芋道源码  · 公众号  · Java  · 2024-12-20 09:30

正文

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入芋道快速开发平台知识星球。下面是星球提供的部分资料: 

👉这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号、CRM 等等功能:

  • Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud
  • 视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本 

来源:麦叔编程


大家好,我是小K,在今天的话题开始之前,我想让大家猜一个问题:

问题:“/”这是正斜杠 ,还是反斜杠

借一位大神的理解来说明:“/”是一个人站立着向前倾倒, 而“\”是一个人站立着向后倾倒。

为什么这俩货那么像,感觉用途也差不多,就不能统一下?

今天我们一起聊聊他们的前世今生:

正斜杠 “/”

早期的Unix系统设计中,正斜杠 “/”被选定作为目录分隔符

/home/user/documents

这一选择主要是由于斜杠在ASCII字符集中位于更容易访问的位置,

并且早期计算机系统的键盘布局也使其易于输入。

反斜杠(\)在早期的键盘布局中通常需要使用Shift键或者位于较不显眼的位置,这使得它在当时的输入操作中不如斜杠方便。

随着互联网的发展,蒂姆·伯纳斯·李(Tim Berners-Lee)在设计URL(统一资源定位符)时也选择了使用正斜杠 “/”作为路径分隔符,以保持与Unix文件系统的兼容性。

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

反斜杠 “\”

然而在MS-DOS系统中,反斜杠“\”被选定为目录分隔符。

C:\Users\User\Documents

这一选择的一个原因是当时的操作系统需要与CP/M操作系统兼容,而CP/M使用反斜杠 “\”作为命令行参数的前缀。为了避免冲突,MS-DOS选择了反斜杠作为目录分隔符。

CP/M(Control Program for Microcomputers)是由Gary Kildall在1974年为Intel 8080/85基于Zilog Z80微处理器设计的一种早期操作系统。它在20世纪70年代末和80年代初非常流行,被广泛用于早期的微型计算机上。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud
  • 视频教程:https://doc.iocoder.cn/video/

实际使用中的区别

用作目录分割符

Unix(Linux、macOS和其他类Unix系统中),使用正斜杠 “/”;

/home/user/documents

在Windows操作系统中,使用反斜杠 “\”;

C:\Users\User\Documents

用作运算符号

正斜杠 “/” ,表示除法,“//”表示取整除;

反斜杠 “\” ,表示转义。比如 \n 是换行符。

包裹正则表达式

在Perl和JavaScript等语言中,正斜杠 “/” 用于包围正则表达式。例如:/regex/

URL

在URL中,正斜杠 “/” 用于分隔协议、域名和路径。

https://www.google.com/

资源路径(坑点!!)

在使用Windows环境开发时,出现在普通字符串的路径,如果是windows文件路径,则使用 正斜杠/ 和 *反斜杠* 是一样的;

如果是网络文件路径,则必须使用 正斜杠//

".\Image/maishu/1.jpg" /> // 本地文件路径,/ 和 \ 是等效的
"./Image\maishu\1.jpg" />
"http://www.google.com/maishu/pic/1.jpg" /> // 网络文件路径,一定要使用 斜杆/

最后

斜杠(/) 反斜杠(\) 在不同操作系统中被选择为目录分隔符,主要原因包括字符在ASCII字符集中的位置、键盘布局的便捷性,以及历史设计决策和兼容性需求。

我觉得让大家理解这些背景有助于更好地理解不同操作系统的设计选择和使用习惯。


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

文章有帮助的话,在看,转发吧。

谢谢支持哟 (*^__^*)