首页 > 其他分享 >检查字符串的byte[]是什么编码字符集

检查字符串的byte[]是什么编码字符集

时间:2024-06-12 15:32:22浏览次数:11  
标签:编码 getCharset String bytes 字符集 hello byte detector

引入依赖

        <dependency>
            <groupId>com.googlecode.juniversalchardet</groupId>
            <artifactId>juniversalchardet</artifactId>
            <version>1.0.3</version>
        </dependency>

包装一下

public class CharsetUtil {

    /**
     * 获取字符(串字节数组格式)的字符集
     *
     * @param bytes 字符串的字节数组
     * @return 字符集
     */
    public static String getCharset(byte[] bytes) {
        String defaultCharset = "UTF-8";
        UniversalDetector detector = new UniversalDetector(null);
        detector.handleData(bytes, 0, bytes.length);
        detector.dataEnd();
        detector.reset();
        String detectedCharset = detector.getDetectedCharset();
        return detectedCharset == null ? defaultCharset : detectedCharset;
    }

}

验证

    @Test
    void getCharset() {
        String hello = "hello, world";
        System.out.println("hello charset: " + CharsetUtil.getCharset(hello.getBytes()));
    }

输出(与项目字符集设置有关):

hello charset: UTF-8

标签:编码,getCharset,String,bytes,字符集,hello,byte,detector
From: https://www.cnblogs.com/jiayuan2006/p/18244049

相关文章

  • 从游戏场景看,ByteHouse存算分离架构如何实现降本增效
    经过几十年发展,中国游戏产业逐步迈向成熟与稳健的新阶段。 根据中国音数协游戏工委的数据,2023年,中国移动游戏用户规模达6.57亿人,同比增速小幅增长。在商业模式层面,除了传统的广告投放和付费会员制度外,一些游戏公司还引入了电商直播、虚拟礼物销售等新的商业模式,以提高用户粘性......
  • Base编码规则
    Base64是一种基于64个可打印字符来表示二进制数据的编码方法。它通常用于在不支持二进制数据的环境中传输数据,例如在电子邮件中传输附件或在网页中嵌入图片等。Base64编码规则如下:编码字符集:Base64编码使用64个字符来表示任意二进制数据。这些字符包括大写字母A-Z、小写字母a-......
  • C语言中关于Base64编码的基础原理
    Base64编码简述:1.Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。2.Base64,就是包括小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"一共64个字符的字符集,(任何符号都可以转换成这个字符集中的字符,这个转换过......
  • JavaScript基础用法(变量定义、输入输出、转义符、注释和编码规范)
    天行健,君子以自强不息;地势坤,君子以厚德载物。每个人都有惰性,但不断学习是好好生活的根本,共勉!文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。文章目录JavaScript基础用法1.变量1.1语法1.2示例代码1.3浏览器效果2.输入和输出2.1输出2.1.1输......
  • The field file exceeds its maximum permitted size of 1048576 bytes
    问题—基于Springboot项目,文件上传功能报错Causedby:Thefieldfileexceedsitsmaximumpermittedsizeof1048576bytes.文件的大小超出了允许的范围。错误原因SpringBoot内嵌的Tomcat默认的所有上传的文件大小为1MB,超出这个大小就会报错,解决这个问题需要更改以下......
  • MySQL5.7编码设置
    MySQL5.7编码设置——解决在命令行操作sql乱码问题修改mysql的数据目录下(当时你指定安装的数据目录,或者去C:\ProgramData\MySQL\MySQLServer5.7下找)的my.ini配置文件:[mysql]#大概63行左右,在其下面添加default-character-set=utf8[mysqld]#大概76行左右,在其下面添加char......
  • Golang-编码加密-Xor(GG)
    go语言环境搭建Golang学习日志━━下载及安装_golang下载-CSDN博客  gorunxxx.go  gobuildxxx.go 首先,cs.msf生成比特流数据. 放入xor,py脚本中进行xor加密. xor.pydefxor(shellcode,key):new_shellcode=""key_len=len(key)......
  • 杂项——编码器控制小车走固定距离(stm32)
    先算出轮子转一周编码器的数值(假设为1000),再算出轮子一周的周长(假设为10cm)。那么要前进1米只需要转1米/10cm等于10圈,10圈编码器数值为10000。我们只需要在代码里面写出编码器数值如果<10000则让小车前进,如果>10000让小车停止,即可实现控制小车走固定的距离编码器.c函数(编码器......
  • Error connecting with SSL. error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 ale
    环境Windows11Pro23H2Delphi12Version29.0.50491.5718CentOSLinuxrelease7.9.2009(Core)nginxversion:nginx/1.20.1发生的问题ProjectProjectName.exeraisedexceptionclassEIdOSSLUnderlyingCryptoErrorwithmessage'ErrorconnectingwithSSL.e......
  • c#编码规范
    **一、良好的代码:**合理的缩进有意义的注释API文档注释使用命名空间合理组织代码合理的命名规则一个类执行一种任务一个方法做一件事情方法的代码少于10行,通常小于4行方法的参数不多于两个合理使用异常代码的可读性强代码的耦合度低高内聚的代码对象会被恰当的销毁避免使......