^M 字符处理
windows用的是\r\n来做分行的linux是\n
一、文本格式转换中的^M符号
-
跨平台文本文件:
- 当在Windows系统下编辑的文本文件被转移到Unix/Linux系统下打开时,由于Windows系统使用CR+LF(\r\n)作为行结束符,而Unix/Linux系统使用LF(\n)作为行结束符,因此可能会出现M这种特殊形式出现。
-
文本编辑器设置:
- 在某些文本编辑器(如Vim)中,如果编辑器被配置为识别Unix格式的文件,但打开的文件实际上是Dos格式的(即使用CR+LF作为行结束符),那么编辑器可能会将CR字符显示为^M。
二、历史和技术背景
-
打字机时代:
- 在计算机诞生之前,打字机使用两个字符来开始一个新行:首先是回车(CR),将打印头移回行首;然后是换行(LF),将纸张向上移动一行。这两个动作分别对应着\r和\n字符。
-
计算机存储:
- 在计算机存储成本高昂的年代,为了节省存储空间,一些系统(如MS-DOS和早期的Windows)选择了沿用打字机的回车换行传统,使用CR+LF作为行结束符。
-
编辑器识别:
- 现代文本编辑器(如Vim)通常能够识别并处理不同格式的行结束符。但是,如果编辑器的设置与文件的实际格式不匹配,就可能会出现^M这样的特殊表示。
三、解决方法
-
修改编辑器设置:
- 在Vim中,可以通过设置
fileformats选项来指定编辑器能够自动识别的文件格式集合。例如,将fileformats设置为unix,dos,这样Vim就可以自动识别并处理Unix和Dos格式的文件了。
- 在Vim中,可以通过设置
-
使用转换工具:
- 可以使用如
dos2unix这样的工具将Windows下的文本文件转换成符合Unix/Linux系统要求的文件。
- 可以使用如
-
手动替换:
- 在文本编辑器中,可以使用全局替换功能将^M符号(实际上是CR字符)替换掉。在Vim中,可以使用
:%s/\r//g这样的命令来全局替换CR字符。
- 在文本编辑器中,可以使用全局替换功能将^M符号(实际上是CR字符)替换掉。在Vim中,可以使用
- dos2unix <文件名>
- 读取后做最后一个字符的值判断处理
综上所述,^M符号主要在跨平台文本文件传输和编辑器设置不匹配时生成。了解这一点有助于我们更好地处理文本文件中的行结束符问题。
相关文章:
^M 字符处理
windows用的是\r\n来做分行的linux是\n 一、文本格式转换中的^M符号 跨平台文本文件: 当在Windows系统下编辑的文本文件被转移到Unix/Linux系统下打开时,由于Windows系统使用CRLF(\r\n)作为行结束符,而Unix/Linux系统…...
vxe-table v4.8+ 与 v3.10+ 虚拟滚动支持动态行高,虚拟渲染更快了
Vxe UI vue vxe-table v4.8 与 v3.10 解决了老版本虚拟滚动不支持动态行高的问题,重构了虚拟渲染,渲染性能大幅提升了,行高自适应和列宽拖动都支持,大幅降低虚拟渲染过程中的滚动白屏,大量数据列表滚动更加流畅。 自适…...
【新闻文本分类识别】Python+CNN卷积神经网络算法+深度学习+人工智能+机器学习+文本处理
一、介绍 文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集(“体育类”, “财经类”, “房产类”, “家居类”, “教育类”, “科技类”, “时尚类”, “时政类”, “游戏类”, “娱乐类”),然…...
算法效率的计算
目录 一、如何衡量一个算法的好坏?二、时间复杂度1. 时间复杂度的计算方法2. 时间复杂度习题 三、空间复杂度1. 空间复杂度的计算方法2. 空间复杂度习题 四、常见复杂度对比五、复杂度oj题1. 消失的数字2. 轮转数组 一、如何衡量一个算法的好坏? 如果一…...
迷茫内耗的一天
迷茫的一天 今天看了看动态规划,不知不觉看了三四个小时,英语也没背,项目也已经停止了一个星期就看了几个小时的xml文件(不停ctrlB),好累,感觉要学的好多。这难道是必经之路吗? 一个星期算法已经刷了40道题…...
【android12】【AHandler】【4.AHandler原理篇ALooper类方法全解】
AHandler系列 【android12】【AHandler】【1.AHandler异步无回复消息原理篇】-CSDN博客 【android12】【AHandler】【2.AHandler异步回复消息原理篇】-CSDN博客 【android12】【AHandler】【3.AHandler原理篇AHandler类方法全解】-CSDN博客 其他系列 本人系列文章-CSDN博客…...
在canon的生活
街道地址 朝阳区针织路23号中国人寿金融中心33层 大家好!【ji建军】 今天是在我佳能工作的最后一天,1989毕业后入公司,从一而终,三十五年整。 感谢宫里总经理和历届领导对我的信任和教导; (唐晓阳老师、内…...
萤石设备视频接入平台EasyCVR私有化部署视频平台高速公路视频上云的高效解决方案
经济的迅猛发展带来了高速公路使用频率的激增,其封闭、立交和高速的特性变得更加显著。然而,传统的人工巡查方式已不足以应对当前高速公路的监控挑战,监控盲点和响应速度慢成为突出问题。比如,非法占用紧急车道的情况屡见不鲜&…...
如何解决docker镜像下载失败问题
经常用docker的朋友都知道,docker hub的镜像仓库经常访问不通 rootiZwz97kfjnf78copv1ae65Z:~# docker pull ubuntu:18.04 Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.…...
Python_PyCharm无法打开终端命令行最终解决方案(实测)
关于PyCharm在加载库时出现无法打开终端的问题,相信大家已见到网上众多的添加变量的方式,但也有很多童鞋无法解决,那是因为我们忽略了我们测试虚拟化本身的环境因素,不多赘述,请看以下: 环境:V…...
若依-侧边栏开关按钮禁用,侧边栏始终保持展开
若依框架,当首页为echarts图时,侧边栏展开关闭echarts会超出 解决思路: 当菜单为首页时,侧边栏开关按钮禁用,侧边栏始终保持展开 \src\store\modules\app.jstoggleSideBar(withoutAnimation, typeVal) {if (typeVal …...
洛雪音乐 1.6.1| 全网音乐免费听,附加音源
洛雪音乐汇集了多个平台的音乐资源,让你可以免费播放各种热门音乐。有经典怀旧的老歌,有最近火爆网络的热曲,还有很多原创音乐人发布的最新作品。因触动资本利益,现已转为空壳软件,需要导入音源来使用。功能特点包括&a…...
进程(Process)、线程(Thread)和协程(Coroutine)
进程(Process)、线程(Thread)和协程(Coroutine)都是计算机中实现并发的重要概念,它们有以下区别: 进程是操作系统资源分配的最小单位,也是程序的一次执行过程。进程拥有独…...
蓝牙 BLE 详解
参考链接 BLE博客书籍推荐:Intro to Bluetooth Low Energy: The easiest way to learn BLE...
Spring 获取Header
Spring 获取Header 传统方法获取使用 Spring 获取 Header 传统方法获取 尝试获取一个 User-Agent,(表示的是哪个客户端在访问) // 传统方法获取 HeaderRequestMapping("/getHeader")public String getHeader(HttpServletRequest request) {String userAgent reques…...
第8课 字符串
一、字符串的创建 字符串(string)是Python中最常用的数据类型,是不可变序列的一种,序列的通用操作也适用于字符串。字符串的标志性符号是引号,单引号或者双引号都可以(注意:是英文输入法下的引号,必须成对…...
告别繁琐统计,一键掌握微信数据
微信数据管理的挑战在数字时代,微信已成为我们日常沟通和商业活动的重要工具。然而,随着微信号数量的增加,手动统计每个账号的数据变得越来越繁琐。从好友数量到会话记录,再到转账和红包,每一项都需要耗费大量的时间和…...
企业出海网络:SD-WAN与专线混合组网方案
随着越来越多的国内企业进入海外市场,包括出海电商、游戏、社交网络和区块链等领域,它们通常需要使用海外服务器。同时,这些企业在国内也会拥有自己的机房、IDC或依赖其他云服务提供商的机房。在这种情况下,如何实现国内外之间的高…...
胡壮麟《语言学教程》第五版PDF英文版+中文版翻译
胡壮麟《语言学教程》中文版:https://pan.quark.cn/s/9491130ec572 《语言学教程》(英文版)是一部经典的语言学教材,自 1988 年面世以来,被众多高校广泛采用,长销不衰。该教材自出版以来不断修订ÿ…...
DriftingBlues: 1渗透测试
靶机:DriftingBlues: 1 DriftingBlues: 1 ~ VulnHubhttps://www.vulnhub.com/entry/driftingblues-1,625/ 攻击机:kail linux 2024 1,将两台虚拟机网络连接都改为NAT模式,并查看靶机的MAC地址 2,攻击机上做主机扫描发现靶机 靶机I…...
如何利用 HTML 结构优化网页内容结构_通过 HTML 结构优化内容层次化对 SEO 的作用是什么
如何利用 HTML 结构优化网页内容结构_通过 HTML 结构优化内容层次化对 SEO 的作用是什么 在当今的互联网时代,搜索引擎优化(SEO)已经成为网站成功的关键因素之一。一个好的 SEO 策略不仅能够提高网站的可见度,还能够吸引更多的访…...
解决游戏控制器兼容性难题:ViGEmBus驱动全攻略
解决游戏控制器兼容性难题:ViGEmBus驱动全攻略 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 问题诊断篇:游戏控制器兼容性痛点分析…...
回表为什么慢:二级索引到聚簇索引、覆盖索引与“延迟关联”
目标:你能把“回表”解释成一个可量化的成本模型,并掌握两类实战优化:覆盖索引与延迟关联(先查主键再回表)。1. 先把概念说透:InnoDB 的两棵树 聚簇索引(主键 B 树):叶子…...
3步攻克m3u8视频下载:零基础解决方案
3步攻克m3u8视频下载:零基础解决方案 【免费下载链接】m3u8_downloader 项目地址: https://gitcode.com/gh_mirrors/m3/m3u8_downloader 在数字化时代,流媒体内容已成为信息传播的主要形式之一。然而,许多在线视频采用m3u8格式并通过…...
BiliBiliCCSubtitle:B站字幕高效解决方案,解决字幕获取、格式转换与批量处理难题
BiliBiliCCSubtitle:B站字幕高效解决方案,解决字幕获取、格式转换与批量处理难题 【免费下载链接】BiliBiliCCSubtitle 一个用于下载B站(哔哩哔哩)CC字幕及转换的工具; 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle 在数字内…...
性能测试中的“假阳性”:如何识别与避免?
在软件性能测试领域,“假阳性”是一个令测试团队既头疼又难以回避的挑战。它指的是测试报告或监控工具错误地发出性能警报,声称系统存在性能瓶颈或缺陷,但经过深入分析或在实际环境中验证,发现系统运行状态良好,并不存…...
并发之AQS
AQS 完整流程图 核心笔记一、AQS 核心结构 AQS state(同步状态) CLH 双向队列 LockSupport二、AQS 加锁流程图(最关键) 线程开始↓ 判断 state 是否为 0↓ 是 → CAS 尝试将 state 0 → 1↓ 成功 → 获取锁成功(设置当前线程为持有线程&a…...
轻量化开源方案解放Alienware潜能:从硬件控制到场景革命
轻量化开源方案解放Alienware潜能:从硬件控制到场景革命 【免费下载链接】alienfx-tools Alienware systems lights, fans, and power control tools and apps 项目地址: https://gitcode.com/gh_mirrors/al/alienfx-tools 当你启动电脑却要等待臃肿的Alienw…...
终端智能编程助手Claude Code:让自然语言驱动你的开发工作流
终端智能编程助手Claude Code:让自然语言驱动你的开发工作流 【免费下载链接】claude-code Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining c…...
Qwen-Image-2512像素艺术生成实操:Gradio界面各参数作用与推荐值
Qwen-Image-2512像素艺术生成实操:Gradio界面各参数作用与推荐值 1. 快速上手像素艺术生成 想创作复古游戏风格的像素画?Qwen-Image-2512结合Pixel Art LoRA的解决方案让你轻松实现。这个服务特别适合游戏开发者、独立艺术家和怀旧风格爱好者ÿ…...
