首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏老马说编程

    计算机程序的思维逻辑 (第7节更新) - 再谈乱码恢复

    我们来看一个这种错误转换后的乱码,还是用上节的例子,二进制是(16进制表示):C3 80 C3 8F C3 82 C3 AD,无论按哪种编码解析看上去都是乱码: UTF-8 ÀÏÂí Windows-1252 使用编码转换,转换到windows-1252编码,功能在 "文件"->"转换到"->"西欧"->WIN-1252。 转换完后,打开十六进制编辑,查看其二进制形式,如下图所示: ? 这个过程,相当于假设B是windows-1252。 可以看出,第一行是正确的,也就是说原来的编码其实是A即GB18030,但被错误解读成了B即Windows-1252了。 将A看做GB18030,B看做Windows-1252,进行恢复的Java代码如下所示: ?

    88660发布于 2018-01-31
  • 来自专栏java基础笔记

    java基础之static关键字

    recover(String str) throws UnsupportedEncodingException { String[] charsets = new String[]{"windows RecoverCodeUtils.recover(str); //正常解码: String gb18030 = new String(str.getBytes("windows 1252"), "GB18030"); System.out.println(gb18030); } }   最终结果如下: 原来编码假设是:GB18030 ,被错误解读为:windows -1252 老马 原来编码假设是:Big5 ,被错误解读为:windows-1252 橾鎮 原来编码假设是:UTF-8 ,被错误解读为:windows-1252 ���� 2、静态常量   类型本身具有的属性通过类变量体现

    33920编辑于 2022-05-13
  • 来自专栏老马说编程

    计算机程序的思维逻辑 (6) - 如何从乱码中恢复 (上)?

    实际使用中更为广泛的是Windows-1252编码,这个编码与ISO8859-1基本是一样的,区别只在于数字128到159,Windows-1252使用其中的一些数字表示可打印字符,这些数字表示的含义, 基本上可以认为,ISO 8859-1已被Windows-1252取代,在很多应用程序中,即使文件声明它采用的是ISO 8859-1编码,解析的时候依然被当做Windows-1252编码。 HTML5甚至明确规定,如果文件声明的是ISO 8859-1编码,它应该被看做Windows-1252编码。为什么要这样呢? 因为大部分人搞不清楚ISO 8859-1和Windows-1252的区别,当他说ISO 8859-1的时候,其实他实际指的是Windows-1252,所以标准干脆就这么强制了。 西欧主要使用Windows-1252,使用一个字节,增加了额外128个字符。

    1.9K50发布于 2018-01-31
  • 来自专栏猿计划

    公司项目申请软著,看到同事在一行一行的复制,用python2分钟帮了他

    │ ├── a.h │ │ ├── b.cpp └── └── 核心: 1、编码类型不一样,因为编码的风格以前没统一,导致了有的是UTF-8,GB2312,Windows-1254,Windows encoding'] # GB2312,GBK,GB18030,是兼容的,包含的字符个数:GB2312 < GBK < GB18030 # "Windows-1254" and "Windows gb18030处理,后面需要抑制一下报错 if enc == "GB2312" or enc == "GBK" or enc == "Windows-1254" or enc == "Windows encoding'] # GB2312,GBK,GB18030,是兼容的,包含的字符个数:GB2312 < GBK < GB18030 # "Windows-1254" and "Windows gb18030处理,后面需要抑制一下报错 if enc == "GB2312" or enc == "GBK" or enc == "Windows-1254" or enc == "Windows

    76930编辑于 2022-11-21
  • 来自专栏梧雨北辰的开发录

    Python学习(3):理解计算机中编码三、认识常见的计算机编码

    2.ISO 8859-1/Windows-1252 ISO 8859-1编码: ASCll编码的一个字节并未用完,后来的欧洲国家为了增加它们经常使用的字符,就在原ASCll编码的基础上扩充进而创造了ISO Windows-1252编码: Windows-1252编码是ISO-8859-1编码的超集,现在的HTML5规范中就要求 ISO-8859-1 的文档实际上用 Windows-1252 编码进行分析

    1K30发布于 2018-06-07
  • 来自专栏老马说编程

    计算机程序的思维逻辑 (7) - 如何从乱码中恢复 (下)?

    我们来看一个这种错误转换后的乱码,还是用上节的例子,二进制是(16进制表示):C3 80 C3 8F C3 82 C3 AD,无论按哪种编码解析看上去都是乱码: UTF-8 ÀÏÂí Windows-1252 可以看出,第一行是正确的,也就是说原来的编码其实是A即GB18030,但被错误解读成了B即Windows-1252了。

    1.6K80发布于 2018-01-31
  • 来自专栏叽叽西

    11.2 Java 字符串相关类使用

    Windows-1252 ISO 8859-1 虽然号称是标准,用于西欧国家,但它连欧元(€)这个符号都没有,因为欧元比较晚,而标准比较早。 实际中使用更为广泛的是Windows-1252 编码,这个编码与 ISO 8859-1 基本是一样的,区别只在于数字 128~159。Windows-1252 使用其中的一些数字表示可打印字符。 基本上可以认为,ISO 8859-1 已被 Windows-1252 取代,在很多应用程序中,即使文件声明它采用的是 ISO 8859-1编码,解析的时候依然被当作 Windows-1252 编码。 比如,Windows-1252 和中文的各种编码是不兼容的,即使 Big5 和 GB18030 都能表示繁体字,其表示方式也是不一样的,而这就会出现所谓的乱码,具体我们稍后介绍。

    93710编辑于 2022-05-17
  • 来自专栏python学习教程

    Python3必学的几种基础语法

    当然你也可以为源码文件指定不同的编码: # -*- coding: cp-1252 -*- 上述定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语、白罗斯语、

    69020发布于 2021-02-01
  • 来自专栏生信技能树

    警告!你的微信聊天窗口复制粘贴的代码有风险!

    found 而不是: conda : command not found 如果把这句有问题的代码,放到 sublime 里面进行查看,就可以看到这个符号的原形: 这个 0xa0 字符,是采用 “windows

    2.3K10编辑于 2022-06-08
  • 来自专栏快乐学Python

    解决Python的恼人的encode、decode字符集编码问题

    R,MacCyrillic,IBM855,IBM866,ISO-8859-5,windows-1251(西里尔文) ISO-8859-5,windows-1251(保加利亚语) ISO-8859-1,windows 命令行工具 安装好chardet后,模块会附带一个命令行的检测工具: % chardetect somefile someotherfile somefile: windows-1252 with confidence

    3.3K10发布于 2019-08-22
  • 来自专栏JAVA

    UnicodeDecodeError: ‘utf-8‘ Codec Can‘t Decode Byte 0x80 in Position 0**:UTF-8编码无法解码字节0x80的完美解决方法

    字节 0x80 通常在非UTF-8编码中出现,例如ISO-8859-1(Latin-1)或Windows-1252。 A1: 这些字节通常源自非UTF-8编码的文本,例如ISO-8859-1 或 Windows-1252。在这些编码中,0x80 可能代表某个有效字符,但在UTF-8中它是无效的。

    4.5K10编辑于 2024-11-22
  • 来自专栏全栈技术

    Python 入门指南第二节 | 使用 Python 解释器

    例如,如果你的编辑器不支持 UTF-8 编码的文件,但支持像 Windows-1252 的其他一些编码,你可以定义: # -*- coding: cp-1252 -*- 这样就可以在源文件中使用 Windows

    66431编辑于 2022-09-07
  • 来自专栏专注 Java 基础分享

    计算机编码基础

    三、ISO 8859-1/Windows-1252           对于美国来说ASCll码足够用了,但是后来欧洲的一些国家也开始使用计算机,他们也为自己国家的语言进行扩充编码,于是他们将美国没用完的那个字节的后一半用来编码自己国家的语言 因为ISO 8859-1编码标准出现的比较早,而在后来又出现了一些比较中要的符号例如(欧元符号),这些符号并没有被编入,于是Windows-1252编码扩充了ISO 8859-1编码标准,删除了一些相对不常用的字符 可以说Windows-1252是ISO 8859-1的替代品。 四、GB2312           终于轮到我们伟大的中国人民,当我们能够使用计算机的时候,那一个字节已经被使用完了。

    1.1K90发布于 2018-01-04
  • 来自专栏鸿蒙开发笔记

    OpenHarmony实战——Jchardet文件编码方式组件

    编码、ISO-2022-CN编码、ISO-2022-KR编码、Big5编码、UTF-16BE编码、x-euc-tw编码、EUC-KR编码、ECU-JP编码、GB18030编码、HZ-GB-2312编码、Windows

    24520编辑于 2025-04-21
  • 来自专栏IT杂谈学习

    【Python】已解决:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xa1 in position 0: invalid start by

    这可能是因为文件是以另一种编码(如 GBK, ISO-8859-1, Windows-1252 等)保存的,或者是二进制文件,根本就不是文本文件。

    1.7K10编辑于 2025-05-23
  • 来自专栏全栈程序员必看

    CSV文件编辑器——Modern CSV for mac

    您的 .csv 文件在带有 CRLF 换行符的 ANSI(Windows-1252,西欧)字符编码中是否有分号分隔符?您可以每次都打开它并相应地保存文件。

    6.8K30编辑于 2022-09-16
  • 来自专栏离别歌 - 信息安全与代码审计

    Jenkins文件读取漏洞拾遗(CVE-2024-23897)

    In contrast, with the encoding Windows-1252, only 5 out of 256 possible values are illegal and would 在UTF-8字符集情况下,32字节长度的二进制字符可能有16个字节都是占位符;而如果是Windows-1252字符集,则256个字符中只有5个字符是占位符。 那么实际上伪造remember-me这条路就死了,就像官方漏洞通告里说的,目标环境需要支持读取二进制文件(比如默认字符集是Windows-1252的Windows系统)。

    9.7K31编辑于 2024-01-28
  • 来自专栏全栈程序员必看

    常用的curl命令及参数详解

    us-ascii, utf-16, utf-16be, utf-16le, utf-32, utf-32be, utf-32le, utf-8, windows-1250, windows-1251, windows us-ascii, utf-16, utf-16be, utf-16le, utf-32, utf-32be, utf-32le, utf-8, windows-1250, windows-1251, windows

    3.2K20编辑于 2022-07-23
  • 来自专栏黑客技术家园

    网页如何挂马的是如何实现的

    > 11、判断系统代码 <HTML><HEAD><TITLE>404TITLE> <META http-equiv=Content-Type content="text/html; charset=<em>windows</em>

    6K20发布于 2021-04-02
  • 来自专栏编程语言的世界

    PHP 字符集编码转换全解:方法与实践

    Windows-1252:基于 ISO-8859-1 的扩展,用于 Windows 系统。Big5:主要用于繁体中文的编码格式。2.

    61310编辑于 2025-01-22
领券