首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    ISO-8859-1乱码恢复

    为兼容较旧的jQuery插件,我把jQuery版本号从2.1.x降到了1.8.x,这比加入jquery-migration插件要来得干脆。

    88310编辑于 2022-07-07
  • 来自专栏爬虫逆向案例

    ISO-8859-1处理案例

    主要分享的内容是对光明网 ISO-8859-1 编码的处理方式。

    77020编辑于 2022-01-30
  • 来自专栏Ryan Miao

    java中byte, iso-8859-1, UTF-8,乱码的根源

    iso-8859-1正好相当于utf-8的一个单位。 因此,将以utf-8编码的字节流用iso-8859-1的方式读取后字符乱码但信息不丢失,只需要将字符还原成byte数组(str.getBytes("ISO-8859-1")),重新以utf-8读取(new 从上图看出 7 个 char 字符经过 ISO-8859-1 编码转变成 7 个 byte 数组,ISO-8859-1 是单字节编码,中文“君山”被转化成值是 3f 的 byte。3f 也就是“?” 很可能就是错误的使用了 ISO-8859-1 这个编码导致的。中文字符经过 ISO-8859-1 编码会丢失信息,通常我们称之为“黑洞”,它会把不认识的字符吸收掉。 这种情况是这样的,ISO-8859-1 字符集的编码范围是 0000-00FF,正好和一个字节的编码范围相对应。这种特性保证了使用 ISO-8859-1 进行编码和解码可以保持编码数值“不变”。

    3.8K70发布于 2018-03-13
  • 来自专栏Java技术栈

    架构师必须掌握的各种编码:ASCII、ISO-8859-1、GB2312...

    编码在我们日常开发过程中经常有遇到,常见的编码格式有ASCII、ISO-8859-1、GB2312、GBK、GB18030、UNICODE、UTF-8、UTF-16等,其中GB2312、GBK、GB18030 ISO-8859-1 既然ASCII只能表示128个字符,显示是不能完全表示完的,所以ISO-8859-1扩展了ASCII编码,在ASCII编码之上又增加了西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号 ISO-8859-1也是单字节编码,但它是一个8位的容器,它能表示256个字符。 GB2312 全称为信息交换用汉字编码字符集,是中国于1980年发布,主要用于计算机系统中的汉字处理。

    2.7K70发布于 2018-03-30
  • 来自专栏java架构计划训练营

    Invalid mime type application-json; charset=utf-8;charset=ISO-8859-1: does not contain

    @PostMapping(value = “/organization/organizations/search”, consumes = “application/json”, produces = “application/json”)

    3.1K30编辑于 2022-12-02
  • 来自专栏云架构修炼手册

    再谈java乱码:GBK和UTF-8互转尾部乱码问题分析

    ISO-8859-1中转UTF-8数据 设想一个场景: 用户A,有一个UTF-8编码的字节流,通过一个接口传递给用户B; 用户B并不知道是什么字符集,他用ISO-8859-1来接收,保存; 在一定的处理流程处理后 "ISO-8859-1"); System.out.println("转成ISO-8859-1会乱码:"+str2); //将ISO-8859-1编码的unicode字符串转回为byte[] ; } 输出结果: 原文:姓名 UTF-8 Byte:e5 a7 93 e5 90 8d to ISO-8859-1:姓名 ISO-8859-1 Byte:e5 a7 93 e5 90 8d revert UTF-8:姓名 === 原文:用户名 UTF-8 Byte:e7 94 a8 e6 88 b7 e5 90 8d to ISO-8859-1:用户名 ISO-8859-1 Byte:e7 为什么 ISO-8859-1 没问题 因为 ISO-8859-1 是单字节编码,因此它的分组方案是: [e7] [94] [a8] [e6] [88] [b7] [e5] [90] [8d] 因此中间不做任何操作

    4.2K10发布于 2019-11-04
  • 来自专栏Ryan Miao

    java字符编码和oracle乱码

    -8859-1字符集,将字符数组解码为字符:"+new String(bytes,"iso-8859-1")); 17 18 19 System.out.println("===== ===getbytes(iso-8859-1):==============="); 40 byte[] bytes4 = str.getBytes("iso-8859-1"); 41 -8859-1字符集,将字符数组解码为字符:"+new String(bytes4,"iso-8859-1")); 49 } 结果: ? 经过测试,存储的时候:p=new String(p.getBytes("gbk"),"iso-8859-1");而getBytes("utf-8")失败。 查询结果的时候:result = new String(str.getBytes("ISO-8859-1"),"gbk")可以将oracle的中文正常显示。 附上我用oracle的字符集: ?

    2.8K80发布于 2018-03-13
  • 来自专栏全栈程序员必看

    response contentType值的问题

    关于 reponse 返回类型 contentType 是 application/json;charset=ISO-8859-1 现象的阐述 现象发生描述: 在 Interceptor 的 preHandle described in getCharacterEncoding (i.e., the method * just returns the default value ISO -8859-1), * getWriter updates it to ISO-8859-1 * (with the effect that a subsequent call to getContentType() will * include a charset=ISO-8859-1 component which will also CoyoteWriter(outputBuffer); } return writer; } 首先看注释,注释中就描述了“如果未制定response的编码,就默认为ISO

    91030编辑于 2022-09-09
  • 来自专栏Nicky's blog

    旅游自助系统项目之百度富文本编辑器使用

    = Constant.ImgPath.path; String position = new String(request.getParameter("position").getBytes("iso -8859-1"),"UTF-8"); String priceString = new String(request.getParameter("price").getBytes("iso-8859 Double.parseDouble(priceString); String sortString = new String(request.getParameter("sort").getBytes("iso Integer.parseInt(sortString); // String timeString = new String(request.getParameter("time").getBytes("iso Date.valueOf(timeString); String tour_project = new String(request.getParameter("tour_project").getBytes("iso

    45920编辑于 2022-05-07
  • 来自专栏猫头虎博客专区

    猫头虎分享Python 编码转换库:处理 JSONL 编码格式转换的最佳实践

    示例: import codecs with codecs.open("file.jsonl", "r", encoding="ISO-8859-1") as file: data = [line.strip 示例: import jsonlines with jsonlines.open("file.jsonl", mode="r", encoding="ISO-8859-1") as reader: 示例: import pandas as pd df = pd.read_json("file.jsonl", lines=True, encoding="ISO-8859-1") df.to_json 示例: import ujson with open("file.jsonl", "r", encoding="ISO-8859-1") as file: data = [ujson.loads 示例: import json with open("file.jsonl", "r", encoding="ISO-8859-1") as file: data = [json.loads(

    98910编辑于 2024-11-03
  • 来自专栏全栈程序员必看

    java中文乱码_Java中文乱码问题的解决方案[通俗易懂]

    1.以POST方法提交的表单数据中有中文字符 由于Web容器默认的编码方式是ISO-8859-1,在Servlet/JSP程序中,通过请求对象的getParameter()方法得到的字符串是以ISO-8859 String name = request.getParameter(“name”); name=new String(name.getBytes(“ISO-8859-1″),”GBK”); 在第一行, 调用getParameter()方法得到的字符串name的Unicode值是以ISO-8859-1编码转换而来,调用name.getBytes(“ISO-8859-1”),将得到原始的GBK编码值,接着 ISO-8859-1为默认编码格式,所以,我们在程序中向数据库存储包含中文的数据时,JDBC驱动程序首先把程序内部的Unicode编码格式的数据转化为ISO-8859-1编码,然后传递到数据库中,加上数据库本身也有字符集 在英文平台下,采用的默认编码格式是ISO-8859-1,所以在编译转换后,执行输出时,原先在源文件中书写的中文字符串就变成了乱码。

    5K50编辑于 2022-09-08
  • 来自专栏∑小熊猫的博客

    Spring 框架学习 (八) Spring MVC 的控制器

    -8859-1" pageEncoding="ISO-8859-1"%> <! 但是这两个请求会获得不同的页面 <%@ page language="java" contentType="text/html; charset=<em>ISO-8859-1</em>" pageEncoding="<em>ISO</em> -8859-1" pageEncoding="<em>ISO-8859-1</em>"%> <! <%@ page language="java" contentType="text/html; charset=<em>ISO-8859-1</em>" pageEncoding="<em>ISO-8859-1</em>"%> <! -8859-1" pageEncoding="<em>ISO-8859-1</em>"%> <!

    1.4K10发布于 2020-11-25
  • 来自专栏分享学习

    java中如何输出一个某种编码的字符串?

    String str) { String tempStr = ""; try { tempStr = new String(str.getBytes("ISO ; } 解释: str.getBytes() ,这个方法就是返回的str字符串在当前系统中的默认编码字符串,之后再加上参数就是返回该字符串指定参数的默认编码字符串,str.getBytes(“ISO -8859-1”) 就是返回的ISO-8859-1这个编码格式的字符串。 new String(str.getBytes(“ISO-8859-1”), “GBK”) 这个就是把前边的字符串转换成第二个参数指定的GBK格式的字符串。

    2.5K20编辑于 2022-05-16
  • 来自专栏Ryan Miao

    oracle数据库字符集US7ASCII,在java中处理中文问题

    ){ 2 String result = "未识别"; 3 try { 4 result = new String(str.getBytes("ISO getPara("department"); try { department=new String(department.getBytes("gbk"),"iso password); Db.use("oracle").save("user", r); renderJson(); } 也就是说,当读取的时候,从数据中得到中文字符,然后以iso -8859-1 encode,再以gbk decode来正确显示中文, 当写入的时候,需要将中文字符 以gbk encode,再以iso-8859-1 decode,写入数据库。

    3.5K110发布于 2018-03-13
  • 来自专栏JAVA乐园

    Java正确进行字符串编码转换

    但是为什么在tomcat 下,使用new String(s.getBytes("iso-8859-1") ,"GBK") 却可以用呢? 答案是:tomcat 默认使用iso-8859-1编码, 也就是说,如果原本字符串是GBK的,tomcat传输过程中,将GBK转成iso-8859-1了,默认情况下,使用iso-8859-1读取中文肯定是有问题的 ,那么我们需要将iso-8859-1 再转成GBK, 而iso-8859-1 是单字节编码的,即他认为一个字节是一个字符, 那么这种转换不会对原来的字节数组做任何改变,因为字节数组本来就是由单个字节组成的 ,如果之前用GBK编码,那么转成iso-8859-1后编码内容完全没变, 则 s.getBytes("iso-8859-1") 实际上还是原来GBK的编码内容;则 new String(s.getBytes ("iso-8859-1") ,"GBK") 就可以正确解码了。

    3.1K10编辑于 2022-06-30
  • 来自专栏架构之巅

    java字符集

    在中文平台下,如果指定的字符集编码是ISO-8859-1,由于此字符集是单字节编码,所以使用getBytes("ISO-8859-1")时,每个字符只取一个字节,每个汉字只取到了一半的字符。 但是对于ISO-8859-1,则由于无法转换(2个字节--->1个字节,截取了一半的字节),所以转换后的结果是错误的。 而对于ISO-8859-1则变成了?,这再次证明了采用ISO-8859-1是不能保存中文的,而且会因为中文编码在ISO-8859-1的编码中找不到对应的字符而默认转换成?。 所有的文件都将按照ISO-8859-1的编码方式保存,毫无疑问地变成了?。 所以要得到经HTTP协议传输的原始字节,我们需要先调用getBytes("ISO-8859-1")得到原始的字节,但由于我们客户端的原始编码是UTF-8,如果继续按照ISO-8859-1解码,那么得到的将不是一个中文字符

    2.8K50发布于 2020-11-09
  • 来自专栏Nicky's blog

    WEB项目中使用UEditor(富文本编辑器)

    = Constant.ImgPath.path; String position = new String(request.getParameter("position").getBytes("iso -8859-1"),"UTF-8"); String priceString = new String(request.getParameter("price").getBytes("iso-8859 Double.parseDouble(priceString); String sortString = new String(request.getParameter("sort").getBytes("iso Integer.parseInt(sortString); // String timeString = new String(request.getParameter("time").getBytes("iso Date.valueOf(timeString); String tour_project = new String(request.getParameter("tour_project").getBytes("iso

    2.3K30发布于 2019-01-17
  • 来自专栏编程语言的世界

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

    不同的编码格式(如 UTF-8、GBK、ISO-8859-1 等)可能导致字符显示异常或数据处理错误。 ISO-8859-1:一种单字节编码格式,主要用于西欧语言。Windows-1252:基于 ISO-8859-1 的扩展,用于 Windows 系统。Big5:主要用于繁体中文的编码格式。2. 方法 3:utf8_encode 和 utf8_decode这两个函数专门用于处理 ISO-8859-1 和 UTF-8 之间的转换。它们是 PHP 内置函数,无需额外扩展支持。示例代码php复制<? php// 示例字符串(ISO-8859-1 编码)$isoString = "Bonjour, le monde!" >适用场景仅适用于 ISO-8859-1 和 UTF-8 之间的转换。简单易用,但功能有限。方法 4:mb_detect_encoding在进行编码转换之前,有时需要先检测字符串的当前编码格式。

    72510编辑于 2025-01-22
  • 来自专栏小工匠聊架构

    庖丁解牛:NIO核心概念与机制详解 07 _ 字符集

    假设字符以 ISO-8859-1(Latin1) 字符集(这是 ASCII 的标准扩展)的形式储存在磁盘上。 Unicode 做好准备,但是也必须认识到不同的文件是以不同的格式储存的,而 ASCII 无疑是非常普遍的一种格式 事实上,每种 Java 实现都要求对以下字符编码提供完全的支持: US-ASCII ISO -8859-1 UTF-8 UTF-16BE UTF-16LE UTF-16 示例程序 在打开相应的文件、将输入数据读入名为 inputData 的 ByteBuffer 之后,我们的程序必须创建 ISO -8859-1 (Latin1) 字符集的一个实例: Charset latin1 = Charset.forName( "ISO-8859-1" ); 然后,创建一个解码器(用于读取)和一个编码器 ( 它将一个文件的内容从拉丁编码(ISO-8859-1)转换为 UTF-8 编码,并将转换后的数据写入另一个文件。 主要步骤如下: 指定输入文件和输出文件名称。

    43810编辑于 2023-11-22
  • 来自专栏git

    蓝牙自定开锁时间--Python

    binascii import b2a_hex, a2b_hex ###强制输入明文增加到16字节的倍数,在末尾补'\0' def add_to_16(text): text = str(text, 'ISO -8859-1') if len(text.encode('ISO-8859-1')) % 16: add = 16 - (len(text.encode('ISO-8859-1 ')) % 16) else: add = 0 text = text + ('\0' * add) return text.encode('ISO-8859-1 b2a_hex(encBytes)) # 秘钥,字符串格式的转为bytes格式,实际需要传入的应是bytes格式 key = 'I637S01KYHH00000'.encode('ISO

    72670发布于 2019-10-25
领券