c编译错误--error:stray \357 in program及其引发的字符编码概述

LeRobot 入门教程(十三)集成自定义的机器人、相机等硬件 本文详细介绍了如何将自定义机器人集成到LeRobot生态系统的完整流程。主要内容包括:1)硬件准备与通信接口选择;2)继承Robot基类实现标准接口;3)定义观察特征和动作特征;4)处理设备连接/断开逻辑;5)支持校准与配置;6)实现核心传感器读取和动作发送功能;7)可选遥操作器集成;8)遵循4项规范打包自定义设备(命名前缀、类名对应、文件结构、模块暴露);9)提供了完整实现示例。通过该方案,开发者可让自定义机器人兼容LeRobot的数据采集、控制管道和策略训练等全套工具链。 阅读详情

在编译c文件的时候,出现如下错误:

error: stray ‘\357’ in program
error: stray ‘\274’in program
error: stray ‘\233’in program


百思不得其解,怒百度之,几番查找之下,终于找出原因:


原来是UTF-8编码问题。UTF-8编码有BOM和无BOM格式。BOM,ByteOrderMark(字节标记顺序),表明使用UTF8来进行编码。UTF-8的BOM通常为3个字节EF BB BF。转换成对应的字符查看,就是‘\357’,‘\274’,‘\233’。


本着实践才是硬道理的原则,我做了一个验证:

1):notepadd++打开一个文件,分别使用UTF-8无BOM格式和UFT-8格式,使用winhex进行查看,可以看到带BOM格式的头部有EF BB BF三个字节,所以编译时会报错。

无BOM格式不存在头3个,



2):notepadd++打开一个文件,分别使用UTF-8无BOM格式和UFT-8格式,linux下输入od -tc 源文件名,查看。

带BOM:


无BOM:



问题解决,所以以后编程时特别注意编码问题。使用UTF-8无BOM格式或者ANSI格式。



考虑到之前写php程序时也经常出现一些编码问题,在这里我对各种编码进行一个系统的学习。学习资料来自你到底是UTF-8还是ANSI,该文简洁易懂,实乃居家旅行,出门必备之必读文章。扯远了。。

现在做对各种编码格式作一个总结:

1):ANSI.

谈到ANSI,估计你就想到ascii码表了。0-31这32个值用作特殊用途,当打印机或终端遇上这些字符时,便会做出特定的动作。从32到127,这些值用来表示打印字符(英文字符,运算符等),再之后,世界其他国家开始使用计算机,他们国家的文字编码相应的就填充到128-255这些值中,这些就被称为拓展字符集。上述就统称为ANSI编码.

ASCII码大致可以分作三部分組成:

第一部分是:ASCII非打印控制字符;
第二部分是:ASCII打印字符;
第三部分是:扩展ASCII打印字符。 

ascii码

2):gb2312,  gbk, gb18030

gb2312:

等到中国人民开始使用计算机的时候,已经没有剩余的字符给中国人民使用了。但是,美帝是无法难倒聪明的中国人民的,中国人开始想到用两个字节表示汉字,第一个字节从OXA1-OXF7,第二个字节从OXA1-OXFE,这样就可以组合出7000多个汉字,ascii码本来有的数字标点,字母统一重新编了两个字符的编码,这就是全角字符,原来的127一下的就叫做半角字符。这就是gb2312编码的由来。

gbk:

后来中国人民发现,还是有些汉字在gb2312中无法显示出来,所以规定第一个字节从OXA0-0XFF,第二个字节不限。这样又增加了近20000个新汉字和符号。这就是gbk编码的由来。

gb18030:

在汉字系统中,少数民族也开始进入,为了增加少数民族汉字,又加了几千个少数民族汉字,这就是gb18030编码由来。


这三种编码统一称为DBCS,double byte charecter set双字节字符编码。


3):UCS(俗称UNICODE)

这时候,每个国家都开始制定自己的文字编码,编码格式乱的一B,这时候ISO站了出来,发明了UNICODE这种编码来统一世界上各种编码。

UNICODE--universal multiple-octet coded charecter set。unicode直接规定,所有字符统一用两个字节来表示。对于ascci码半角字符小于127字符,编码不变,8位拓展为16位(只含英文字符的unicode文章大大浪费存储啊,这么多高位0,不过ISO表示咱不在乎这点空间),对于其他国家的双字符编码,统一重新进行编码。如上就是UNICODE编码。这里要说一个问题,两个字节存储,你会想到什么?没错,那就是大小端问题。所谓大小端,无法就是大端高位字节存在低位存储单元(高位在前),小端就是低位字节存在低位存储单元(低位在前)。UNICODE区分出大小端,在网络传输时,如何判断字节流是大端还是小端呢?为了解决这个问题,UNICODE引入两个字节的BOM,对于大端模式来说,那就是FE FF;对于小端模式来说,那就是FF FE(OX00位置FF,OX00位置FE,别混乱了啊)。这样我们就可以区分出是大端还是小端。


4)UTF

随着网络时代的来临,UNICODE在网络上的传输成为一个问题。并且,考虑到unicode编码和ansi编码之间的兼容问题,此时出现UTF(UCS Tranfer Format)编码,一来解决传输问题,二来和ASCII编码保持最大程度的兼容,这样做的好处是压缩了字符在西欧一些国家的内存消耗,减少了不必要的资源浪费。这里给出一个UNICODE和UTF-8的对换标准:

  
  
  
  

UNICODE

0000-007f

0080-07ff

0800-FFFF

UTF

0xxxxxxx

110xxxxx  10xxxxxx

1110xxxx 10xxxxxx 10xxxxxx

好了,各个编码标准的来源都扯了一遍,感觉更明白了点。

Open3D 实现CSF布料模拟算法【2025最新版】 CSF布料模拟算法在open3d模块下的实现,博客长期更新,本文最近更新时间为:2025年1月16日。。 阅读详情

相关推荐

LAMMPS实战指南 - 从in文件到分子动力学模拟的完整流程解析

本文详细解析了LAMMPS分子动力学模拟的完整流程,从理解in文件的核心作用与基础结构开始,逐步指导如何创建模拟体系、选择势函数、进行能量最小化与初始化,并深入讲解了NVT/NPT系综弛豫与生产模拟的关键步骤。文章还提供了常见问题的避坑指南与实战技巧,帮助初学者快速掌握从编写in文件到成功运行模拟的全过程。

weixin_28365523的博客 396

stray ‘\357’ in program

在编译时出现了 stray ‘\357’ in program 的报错: 原因:在程序中出现了全角字符(中文括号,逗句号等) 一般会连续多行显示:主要是由于第一个引起的,改正后后面的报错就会跟着消失,

qq_47818483的博客 1万+

【计算机视觉】基于复杂环境下的车牌识别

本文针对复杂环境下(光照变化、车牌变形、噪声干扰)的车牌识别问题,提出了一套完整的优化方案。通过四个核心环节进行改进:1)采用CLAHE、同态滤波等技术优化光照处理;2)使用边缘检测和透视变换应对车牌变形;3)结合中值滤波和暗通道去噪算法消除干扰;4)改进字符分割与识别方法。文章提供了详细的Python实现代码,展示了从预处理到字符识别的完整流程,并通过多策略融合显著提升了复杂场景下的识别准确率。实验结果表明,该方法能有效应对各类复杂环境挑战,为实际应用提供了可靠解决方案。

2401_84149564的博客 1628

C/C++: “error: stray ‘\357’ in program“问题及其解决方法

在Linux中用GCC C++ Compiler(g++)编译报告以下错误:查了查有些博客中有诸如此类的说法:“出现此类错误的原因,在编辑器中使用的utf-8的格式保存源代码中出现了中文的标点符号”、“在程序中打入了全角字符,也就是不是英文输入法”。 这些可能是会导致以上错误的原因的一种,但是并不适用于我现在碰到的这种情况。 以下总结一下关于这个问题的调查结果以及出现这种问题的简单的解决办法。 \357、\273等等......

chenxy_bwave的专栏 1万+

从RJPG到温度地图:基于大疆TSDK的热红外数据精准处理与Pix4D拼接实战

本文详细解析了如何利用大疆TSDK将无人机拍摄的热红外RJPG图像精准转换为带有地理坐标的温度TIFF文件,并完成Pix4D拼接生成正射温度地图的全流程。文章重点阐述了辐射定标的原理、TSDK关键参数(测量距离、湿度、发射率、反射温度)的设置与微调方法,以及Pix4D处理中的常见报错解决方案,旨在帮助用户实现从原始数据到可分析温度地图的精准处理。

docker7nomad的博客 465

GBASE南大通用GBase 8s数据库-从零开始的手动安装与实例配置指南

本文详细介绍了GBASE南大通用GBase 8s数据库的手动安装与实例配置全过程,包括环境准备、用户创建、安装包准备、实例创建、环境变量配置等关键步骤。通过实战经验分享和常见问题解决方案,帮助用户快速掌握GBase 8s数据库的安装与配置技巧,确保数据库稳定运行。

weixin_29209825的博客 455

遇到error: stray ‘\357’ in program [solution.c]的解决办法

该错误是指源程序中有非法字符,需要将非法字符去掉。一般是由于coder使用中文输入法或者从别的地方直接复制粘贴代码造成的。 代码中出现了中文空格,中文引号, 各种中文标点符号都会出现,简单修改一下就OK了。 解决方法: 1.把出错行的空格及其前后空格删掉重新打一下试试。 2.把明显和其他标点符号颜色不同的改掉。(大部分编译器都有颜色识别) 3.直接全部重打。 ———————————————— 版权声明: 本文为优快云博主「AboutYoui」的原创文章,遵循CC 4.0 BY-SA版权协.

Law of Conservation of Eudaemonia 2万+

SAP中成本估算没有找到工艺路线消息处理实例

在针对成品的标准成本核算处理过程中,系统中会经由设定好的策略来收集成品相关成本组成,最终计算出产成品的标准成本。关于成本组成,可以归纳为三个基本要素,料,工,费。即标准成本就是要知道,生产一件成品,需要消耗多少钱的原材料?消耗多少钱的人工?以及其它的间接消耗? 某日,接到CO同事的反馈,在用CK11N做产成品标准价格核算时,提示没有工艺路线确定,但该消息为绿灯,可以通过。基于业务上的谨慎,提出分析。 从提示可以看出问题与工艺路线有关。因为,成品工艺路线中设定有成品生产所耗工时,所以,在计算产成品标准

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 6280

错误总结

1.error: stray ‘\357’ in program error: stray ‘\274’ in program error: stray ‘\233’ in program 出现此类错误的原因,源代码中出现了中文的标点符号

qq_45563820的博客 835

Proteus 8.15仿真STM32F103C8,ADC采样总为0?别急着换芯片,先检查这3个配置

本文详细解析了在Proteus 8.15中仿真STM32F103C8时ADC采样值为0的常见原因及解决方法。从供电网络配置、时钟设置到ADC参数调整,提供了系统性的排查指南,帮助开发者快速定位问题,避免不必要的硬件更换。重点关注供电网络、时钟分频和ADC配置等关键环节。

weixin_30425949的博客 366

html2canvas - 解决截图后引入的字体样式丢失问题,第三方字体截图导出图片后字体失效,html2canvas截屏生成图片后艺术字体就丢失并且自动转成常规字体了,特殊字体显示不了无法截图怎么办

vue2,vue3,uniapp,html2canvas截图后引入的字体样式丢失,html2canvas艺术字截图不显示,使用外部字体无效,html2canvas无法识别网络字体文件怎么办,ttf文件,网页使用在线字体链接利用html2canvas无法截取,字体样式没有了,font-family第三方字体,@font-face引入本地字体文件后无法被html2canvas识别怎么办,html2canvas文字消失,vue页面正常显示艺术字体但截屏后没有,html2canvas截图存在特殊字体时截图不全,默认

✅ 精选推荐文章 1万+

gcc编译C程序时出现“error: stray ‘\357’ in program“错误修复方法

当你使用GCC编译C程序时,如果遇到“error: stray ‘\357’ in program”这样的错误提示,通常是由于源代码文件中存在一些非法或不可见的字符导致。总之,为了修复GCC编译C程序时出现“error: stray ‘\357’ in program”的错误,你需要检查文件编码、删除BOM、查看隐藏字符和注释,以及使用一些文本编辑器插件找出可能存在的问题。BOM是字节顺序标记,它在文件开头表示编码类型,通常是UTF-8文件的一个标志。在源代码文件中,你可能会遇到一些不可见的隐藏字符。

高性价比服务器就选:蓝易云 3282

uniapp - 超详细 H5 网页引入百度地图教程,附地图示例 / 获取当前设备定位的省市区、详细地址、经纬度信息 / 用户当前 IP 属地定位地理位置等等(新手小白快速上手,详细配置及使用全流程)

uniapp百度地图,uniapp百度地图ip属地定位,uniapp百度地图获取省市区详细地址经纬度等,uniapp百度地图当前用户设备定位省份市区详细所在地ip属地等详细教程示例,uniapp网页h5引入百度地图详细教程,uniapp h5网站使用百度地图详细教程,uniappH5端如何接入使用百度地图api,uniapp H5网页端百度地图获取地理位置信息,uniapp h5页面引入百度地图,uniapp h5平台百度地图获取城市信息,uniapp百度地图获取经纬度,uniapp 百度地图拿省市区用什么

🏆 前端领域优质创作者 6218

[转]c编译错误--error:stray \357 in program及其引发的字符编码概述

转自:https://blog.youkuaiyun.com/wolf_break/article/details/37904237 在编译c文件的时候,出现如下错误: error: stray ‘\357’ in program error: stray ‘\274’in program error: stray ‘\233’in program 百思不得其解,怒百度之,几番查找之下,终于找出原因: 原来是UTF-8编码问题。UTF-8编码有BOM和无BOM格式。BOM,ByteOrderMark(字节标

liuyan20092009的专栏 2006

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

error: stray ‘\342’ in program如何解决

test_getopt.c:9:35: error: stray ‘\342’ in program test_getopt.c:9:35: error: stray ‘\200’ in program test_getopt.c:9:35: error: stray ‘\235’ in program test_getopt.c:12:3: error: stray ‘\342’ in prog...

墨痕诉清风的博客 3527

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

[Error] stray ‘\241‘ in program 是怎么回事

在ASCII表中不是一个标准字符,但在扩展ASCII或其他编码(如UTF-8)中可能代表某个特定字符。:确保你的源代码文件是以ASCII或兼容ASCII的编码(如ISO-8859-1)保存的。如果上述方法都不能解决问题,你可以尝试在文本编辑器中打开源代码文件,设置显示所有字符(包括不可见字符),然后查找并删除。这个字符可能是由于多种原因被错误地包含在源代码文件中的。:在某些情况下,源代码文件可能在编辑或传输过程中被损坏,导致出现无法识别的字符。:检查编译器的设置,确保它正确地处理了文件的编码。

hanqing1972的博客 1412

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

c语言 error: stray‘\243‘in program error: stray ‘\254‘ in program

c语言编译时出现如下问题,是因为出现了不标准的ASCII字符。一般是程序中出现了中文符号。

abracadabraa的博客 6511

arm-linux-gcc编译时出现stray '\357''\273' '\277' in program的解决方法

用arm-linux-gcc编译文件的时候突然出现了一大堆错误,用gcc编译可以通过。。。一头雾水!!! example1.c:1: error: stray ‘\357’ in program example1.c:1: error: stray ‘\273’ in program example1.c:1: error: stray ‘\277’ in program ...

Linux Openharmony Android Graphics Stack! 1万+

error: stray '\302' in program?

问:这类错误是什么原因:error: stray '\302' in program? 答:此种错误,可能程序本身没有语法错误,应该是每一行的空格的编码不对,只需要将程序出错行前面的空格删掉,然后让程序再退回即可解决问题! 代码中出现了中文空格,中文引号, 各种中文标点符号都会出现,简单修改一下就OK了。 解决方法: 1.把出错行的空格及其前后空格删掉重新打一下试试。 2.

MarkShz的博客 3981

gcc 编译错误:pthread_cond.c:62: error: stray ‘\343’ in program

从网页上拷贝了一段程序,在gcc下编译,发现很多错误,都是如下类型: pthread_cond.c: In function ‘main’: pthread_cond.c:62: error: stray ‘\343’ in program pthread_cond.c:62: error: stray ‘\200’ in program pthread_cond.c:62: error:

liangyamin的专栏 2674

error:stray'\243'in program

error:stray'\243'in program 问题: C原因在编译时出现例如以下错误 error:stray'\243'in program 错误原因: 非 - 标准ascII字符,全角字符一般都是什么样的比喻象征{ } 和{} ,和, 转载于:https://www.cnblogs.com/mfrbuaa/p/456...

weixin_30596165的博客 158

Dev-C++中实现UTF-8编码自动检测与编译优化的完整方案

字符编码是计算机处理文本信息的基础,它定义了字符与二进制数据之间的映射规则。在跨平台开发和国际化协作中,UTF-8因其良好的兼容性和无字节序问题,已成为事实上的标准编码。然而,在Windows环境下,传统的开发工具链(如Dev-C++配合MinGW GCC)常默认使用本地编码(如GBK),导致处理UTF-8编码的源代码时出现编译错误或运行时乱码。其核心原理在于,编译器需要明确知晓源文件的字符集才能正确解析。通过实现一个基于BOM检查和字节模式统计的UTF-8检测算法,可以自动化识别文件编码。这一技术的工程价

weixin_30770783的博客 337

VSCode中C语言中文乱码的根源与解决方案:编码统一是关键

字符编码是计算机存储和处理文本的基础,它定义了字符与二进制数据之间的映射关系。其核心原理在于为每个字符分配唯一的数字标识,以确保跨系统和应用的正确显示。在软件开发中,统一的编码标准至关重要,它能保障代码的可读性、可维护性和跨平台兼容性。特别是在C语言开发中,当源代码文件、编译器解释和终端显示三者的编码不一致时,就会出现中文乱码问题,这直接影响了程序的调试和用户交互体验。本文聚焦于VSCode集成开发环境中,通过Code Runner插件运行C程序时遇到的中文显示异常,深入剖析乱码产生的技术根源——编码不匹配

weixin_34224941的博客 350

error: stray '\357' in program

环境: 编程环境:Ubuntu12.04 编程工具:vim 编译工具:gcc 输入法:搜狗 注意:在window8系统下使用SecureCRT通过root用户账号远程登录到Ubuntu12.04系统的 (SecureCRT是一款支持SSH的终端仿真程序,是Windows下登录UNIX或Linux服务器主机的软件。) (SSH是Secure Shell的缩写,安全外壳协议。...

weixin_30750335的博客 1138

error: stray '\357' in program问题

编译报错:error: stray '\357' in program 原因:在程序中打入了全角字符,也就是不是英文输入法

qq_34489443的博客 2万+

C语言编译过程中出现形如 error:stray‘\274‘in program 的报错

C语言编译过程中出现形如 error:stray’\274’in program 的报错,一般情况下,我们应该考虑到以下几点: 编写的程序里使用的关键字或变量名不规范而导致错误; 编译器在编译源代码的过程中遇到了不能识别的非法字符,这一个值不在合法的英文字符(0~127)范围内,一般是误输入造成。 既然找到了问题出现的原因,那么我们就需要想办法解决了,接下来我们应该根据编译器所提示的错误来找到...

weixin_44596487的博客 2万+
上一篇: linux,windows文件同步
下一篇: socket中的非阻塞connect()与getsockopt()
sylarCode
博客等级 码龄16年 3粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值