挑战全网最清晰解决文本文件乱码方案

news2024/9/22 7:39:31

标题

  • 文本文件出现乱码之全网最清晰解决方案
    • 乱码出现的原因
    • 解决方案
      • 第一步:获取文件的原始编码格式。
      • 第二步,获取当前系统的格式
      • 第三步,将文件的内容以当前系统编码格式进行译码并且输出到新的文件中
      • 第四步,删除原文件,保留新文件

文本文件出现乱码之全网最清晰解决方案

在这里插入图片描述

文本文件出现乱码,是我们经常遇到的问题,这篇文章将为你讲清楚乱码出现原因以及解决方案。

  1. 乱码出现的原因
  2. 解决方案

乱码出现的原因

小嘴在笔记本电脑上创建了一个文本文件,该文本文件的内容是“你好”。但对电脑而言这个内容并不是“你好”,而是一串二进制数。电脑的编码格式决定二进制数是什么。
小嘴的笔记本电脑的系统编码格式是A,得到的二进制数是"1010011"。
此时,这个文件被他上传到了开发板的linux系统上。在linux系统上打开看后发现出现了乱码。
这是因为,linux系统的编码格式不在是A,而是B。linux系统用B去译码“1010011”肯定会出错,译码得到的字符肯定不是“你好”。

解决方案

第一步:获取文件的原始编码格式。

有时候我们的文件是从网上下载的,无从得知原始编码格式。但有个python算法可以帮我们自动检测出。

import chardet

print(chardet.detect(open('./说明.txt','rb').read()))

我猜测这个算法是通过语义匹配计算得到文件原始正确编码格式的。

运行该python脚本后得到的结果格式如下:

{'encoding': 'GB2312', 'confidence': 0.99, 'language': 'Chinese'}

有编码格式,有置信度,有文本内容所用语言。

第二步,获取当前系统的格式

以我的linux系统为例。在控制台运行如下命令可得到系统编码。

echo $LANG

得到系统编码格式 en_US.UTF-8

第三步,将文件的内容以当前系统编码格式进行译码并且输出到新的文件中

运行如下命令

iconv -f GB2312 -t UTF-8 说明.txt > 1.txt

-f 参数后边指定乱码文件的原始编码格式,-t参数后边指定当前系统编码格式,>通道符号后边指定新的文件的地址

第四步,删除原文件,保留新文件

乱码问题解决

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1907995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

韦东山嵌入式linux系列-LED驱动程序

之前学习STM32F103C8T6的时候,学习过对应GPIO的输出: 操作STM32的GPIO需要3个步骤: 使用RCC开启GPIO的时钟、使用GPIO_Init函数初始化GPIO、使用输入/输出函数控制GPIO口。 【STM32】GPIO输出-CSDN博客 这里再看看STM32MP157的GPIO引脚使用…

【智能算法改进】多策略改进的蜣螂优化算法

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 【智能算法】蜣螂优化算法(DBO)原理及实现 2.改进点 混沌反向学习初始化 采用 Pwlcm 分段混沌映射,由于 Pwlcm 在其定义区间上具有均匀的密度函数,在特定的…

windows电脑桌面便签在哪里找?

在忙碌的工作中,我们经常会有很多事情需要记住。这时,电脑桌面便签就成为了我们的好帮手。那么,在Windows电脑上,我们该如何找到桌面便签呢?下面,就让我来为大家详细介绍一下。 其实,Windows电…

Android多开应用软件系统设计

设计一个支持Android多开应用的软件系统,主要涉及到以下几个关键技术点和设计考虑: 1. 虚拟化技术 容器技术:与传统的虚拟机不同,可以采用更轻量级的容器技术,为每个应用实例创建独立的运行环境。这包括分配独立的用…

【CUDA】shuffle算法的一个优化

最近,笔者在阅读这篇文章时很好奇,为什么使用看起来高大上的shuffle算法之后,并没有造成优化反而有了负优化,想到了一个可以优化的地方:在最后针对一个warp进行处理时,当前block中不在第一个warp中的线程会…

【Linux】进程间通信——匿名管道

为什么要进行进程间通信? 1.数据传输:一个进程需要将它的数据发送给另一个进程,比如我们有两个进程,一个负责获取数据,另一个负责处理数据,这时第一个进程就要将获取到的数据交给第二个进程 2.资源共享&…

职业理念教育观

职业道德理念——教育观 教育是什么、干什么、为了什么,教育心该培养什么样的人、如何培养人等。 教育观 素质教育内涵 教学观 素质教育内涵 新课程改革的教学观

4.Python4:requests

1.requests爬虫原理 (1)requests是一个python的第三方库,主要用于发送http请求 2.正则表达式 #正则表达式 import re,requests str1aceace #A(.*?)B,匹配A和B之间的值 print(re.findall(a(.*?)e,str1))import re,requests str2hello com…

背包问题转换

如何转换成背包问题呢&#xff0c;我们可以把每个质数当成一个重量 #define _CRT_SECURE_NO_WARNINGS #include<bits/stdc.h> using namespace std;#define int long long int record[1005]; void fun() {//record[2] 1;for (int i 2; i < 1000; i) {if (!record[…

微信视频号及直播回放下载工具

最近需要下载微信视频号中的视频&#xff0c;找一圈&#xff0c;终于找到了&#xff0c;&#xff0c;免费&#xff0c;没广告 软件叫做&#xff1a;爱享素材下载器。 是一款开源的、完全免费的工具。 第1步&#xff1a;下载安装包 下载地址&#xff1a; https://github.com/p…

jmeter+ant+jenkins搭建 接口自动化测试平台

平台搭建 &#xff08;1&#xff09;录制jmeter脚本 &#xff08;2&#xff09;将jmeter的安装目录下的G:\jmeter\apache-jmeter-5.1.1\extras中&#xff0c;将 ”ant-jmeter-1.1.1.jar”文件放到 ant的lib目录下 &#xff08;3&#xff09;配置jmeter的xml配置文件&#xf…

python对象

类 我们目前所学习的对象都是Python内置的对象但是内置对象并不能满足所有的需求&#xff0c;所以我们在开发中经常需要自定义一些对象类&#xff0c;简单理解它就相当于一个图纸。在程序中我们需要根据类来创建对象类就是对象的图纸&#xff01;我们也称对象是类的实例&#…

【第22章】MyBatis-PlusSQL分析与打印

文章目录 前言一、p6spy简介二、示例工程1. 依赖引入2. 配置 三、Spring Boot集成1. 依赖2. 配置3. 注意事项 四、实战1. 依赖2. 配置(spy.properties)3. 配置类4. 测试类5. 结果 总结 前言 MyBatis-Plus提供了SQL分析与打印的功能&#xff0c;通过集成p6spy组件&#xff0c;可…

电脑找回彻底删除文件?四个实测效果的方法【一键找回】

电脑数据删除了还能恢复吗&#xff1f;可以的&#xff0c;只要我们及时撤销上一步删除操作&#xff0c;还是有几率找回彻底删除文件。 当我们的电脑文件被彻底删除后&#xff0c;尽管恢复的成功率可能受到多种因素的影响&#xff0c;但仍有几种方法可以尝试找回这些文件。本文整…

白帽工具箱:DVWA中CSRF攻击与防御的入门指南

&#x1f31f;&#x1f30c; 欢迎来到知识与创意的殿堂 — 远见阁小民的世界&#xff01;&#x1f680; &#x1f31f;&#x1f9ed; 在这里&#xff0c;我们一起探索技术的奥秘&#xff0c;一起在知识的海洋中遨游。 &#x1f31f;&#x1f9ed; 在这里&#xff0c;每个错误都…

镜舟科技:国产数据库角逐金融赛道,开年斩获数家银行订单

在国产数据库领域&#xff0c;镜舟科技正迅速崛起&#xff0c;成为一匹瞩目的基础数据技术黑马。 开年伊始&#xff0c;镜舟科技便成功斩获中信银行、南京银行、某股份制银行、某头部民营银行、某大型综合类券商以及某消费金融公司等多家金融企业订单&#xff0c;其锚定需求匹…

最优化方法 运筹学【】

1.无约束 常用公式 线搜索准则&#xff1a;求步长 精确线搜索&#xff08;argmin&#xff09; 最速下降&#xff1a;sd&#xff1a;线性收敛 2.算法 SD dk&#xff1a;付梯度-g newton dk&#xff1a;Gkd-g 二阶收敛&#xff0c;步长为1 阻尼牛顿&#xff1a;步长用先搜…

HBuilder X 小白日记03-用css制作简单的交互动画

:hover选择器&#xff0c;用于选择鼠标指针浮动在上面的元素。 :hover选择器可用于所有元素&#xff0c;不只是链接 :link选择器 设置指向未被访问页面的链接的样式 :visited选择器 用于设置指向已被访问的页面的链接 :active选择器 用于活动链接

【Java14】构造器

Java中的构造器在创建对象&#xff08;实例&#xff09;的时候执行初始化。Java类必须包含一个或一个以上的构造器。 Java中的构造器类似C中的构造函数。 Java中对象&#xff08;object&#xff09;的默认初始化规则是&#xff1a; 数值型变量初始化为0&#xff1b;布尔型变量…

记录一次Nginx的使用过程

一、Docker安装配置nginx 1.拉取镜像 docker pull nginx2.创建挂载目录 启动前需要先创建Nginx外部挂载目录文件夹 主要有三个目录 conf&#xff1a;配置文件目录log&#xff1a;日志文件目录html&#xff1a;项目文件目录&#xff08;这里可以存放web文件&#xff09; 创建挂…