识别 UTF-8 编码

思路:如果GBK中文字节流我们使用 UTF-8 编码,会出现未知字符�,字节代表数字为 -65, -67。
所以先尝试用 utf-8 编码,然后获取字节流,判断其中是否存在未知字符。

流程:当直接使用 java 中的 String(byte[], offset, len) 时会采用的编码格式为
假设现在是 utf-8 编码1,首先将字节 buf 转化为 String
2, 再次获取字节流
3,看字节中是否存在连续的 -65,-67。有说明不是 utf-8 编码
整个流程代码:

Original: https://www.cnblogs.com/dnghg/p/14307036.html
Author: dnghong
Title: 识别 UTF-8 编码

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/592381/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Nginx 负载均衡配置

    现有三台服务器 10.160.51.16 10.160.51.54 10.160.51.55 16配置nginx , 请求转发到其余两台 修改默认配置如下: cd /etc/ngi…

    Java 2023年5月30日
    089
  • 如何快速地学习新技术

    如何快速地学习新技术 分为5个步骤: 项目开发时,面临一个问题,需要解决。 如n年前的”页面局部刷新问题”,用户不需要整个门户的页面,只会浏览部分。 当使用…

    Java 2023年6月7日
    088
  • List与Set

    List集合是Collection集合的子接口,其中的元素有序,并且可重复,元素可以通过下标访问。 接囗特有且常用的方法 1.add(int index, E element) v…

    Java 2023年6月5日
    0110
  • ASP.NET Core Web API 中控制器操作的返回类型

    项目 2022/04/18 7 个参与者 ASP.NET Core 提供以下 Web API 控制器操作返回类型选项: 本文档说明每种返回类型的最佳适用情况。 特定类型 最简单的操…

    Java 2023年5月29日
    062
  • 多线程顺序运行的 4 种方法,面试随便问!

    文章介绍4种方法,简单易懂,通过4个demo抛砖引玉。 通过 join()方法使当前线程”阻塞”,等待指定线程执行完毕后继续执行。 举例:在线程thread…

    Java 2023年5月29日
    098
  • docker 安装启动jenkins 以及问题剖析

    docker 安装启动jenkins 以及问题剖析 高考时有句”神话”,只要累不死,就往死里干。这句话依然适合现在的工作中的我们。开篇喜欢讲些小语句; 今天…

    Java 2023年6月16日
    0102
  • Redis学习笔记之安装

    Redis学习笔记之安装 一、Windown 下安装 2. 解压: 3. 加入环境变量(就不需要到解压目录运行命令) //redis-server.exe运行程序 //redis….

    Java 2023年6月5日
    087
  • 深入浅出分析 HashMap

    作者:炸鸡可乐原文出处:www.pzblog.cn 一、摘要 在集合系列的第一章,咱们了解到,Map的实现类有HashMap、LinkedHashMap、TreeMap、Ident…

    Java 2023年6月9日
    0109
  • 选择结构(Java)

    if选择结构 if语法 if(布尔表达式){如&…

    Java 2023年6月9日
    076
  • Mybatis-Plus的使用

    1.什么是Mybatis-Plus 2.为什么要学习Mybatis-Plus 3.入门示例 3.1 说明 3.2 准备工作 3.3 配置步骤 4.常用配置 4.1 实体类全局配置 …

    Java 2023年6月7日
    089
  • ArrayList这篇就够了

    提起ArrayList,相信很多小伙伴都用过,而且还不少用。但在几年之前,我在一场面试中,面试官要求说出ArrayList的扩容机制。很显然,那个时候的我并没有关注这些,从而错过了…

    Java 2023年6月8日
    081
  • Codeforces1656B题 Subtract Operation

    Subtract Operation time limit per test:1 second memory limit per test:256 megabytes input:…

    Java 2023年6月16日
    087
  • 设计模式-代理模式

    概念:二十三种设计模式中的一种,属于结构型模式。它的作用就是通过提供一个代理类,让我们在调用目标 方法的时候,不再是直接对目标方法进行调用,而是通过代理类 间接调用。让不属于目标方…

    Java 2023年6月16日
    073
  • 如何在Docker容器中使用Arthas

    Arthas(阿尔萨斯) 能为你做什么? Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时, Arthas可以帮助你解决: 这…

    Java 2023年6月9日
    0106
  • Spring整合Redis

    一、准备工作 首先创建一个空工程,然后在该空工程创建一个模块(选择Spring Initializal),选择Spring Data Redis依赖。 pomx.xml

    Java 2023年6月8日
    086
  • 【李南江】从零玩转TypeScript

    前言 老套路肯定是 需要知道TS是干啥用的啦. 1.什么是TypeScript(TS)? TypeScript简称TSTS和JS之间的关系其实就是Less/Sass和CSS之间的关…

    Java 2023年6月9日
    085
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球