精华内容
下载资源
问答
  • 问题描述:给定两个字符串判断它们的字符集是否相同。 例如:“aaabbcc”和“abc”的字符集是相同的,字符集都是{a,b,c}。 解题方法:这题与变形词不同在于仅仅要求字符集相同,对数量和长度没有要求。而变形词是...

    问题描述:给定两个字符串判断它们的字符集是否相同。
    例如:“aaabbcc”和“abc”的字符集是相同的,字符集都是{a,b,c}。

    解题方法:这题与变形词不同在于仅仅要求字符集相同,对数量和长度没有要求。而变形词是要求重复出现的次数也要相同。可以Java提供的hashSet进行统计。hashSet可以过滤重复的元素,先将第一个字符串的元素依次添加到hashSet中。记录此时hashSet的大小,再将第二个字符串的元素依次添加进去然后。如果hashSet的大小没有变就说明第二个字符串没有出现新的元素。两个字符串的字符集是相同的。

    代码如下:

    
    import java.util.*;
    public class 判断两个字符串的字符集是否相同 {
    	public static void main(String[] args){
    		String str1 = "aabbbcc";
    		String str2 = "abc";
    		System.out.println(IsSame(str1,str2));
    	}
    
    	private static boolean IsSame(String str1, String str2) {
    		HashSet hs = new HashSet();
    		for(int i=0; i<str1.length(); i++){
    			hs.add(str1.charAt(i));
    		}
    		int temp = hs.size();
    		for(int i=0; i<str2.length(); i++){
    			hs.add(str2.charAt(i));
    		}
    		if(temp == hs.size()) return true;
    		return false;
    	}
    }
    

    这题同hashMap也可以实现。hashSet和hashMap的区别如下图:
    在这里插入图片描述

    展开全文
  • java 字符集编码转换,时间格式化,数字判断等,java文件
  • Java 判断文件的字符集编码

    万次阅读 2013-05-06 18:20:22
    于是乎想通过写程序判断,分享一下。 原理: 通过获取文件的前三个字节来判断,Unicode编码 前两个字节为FFFE; Unicode big endian编码的前两字节为FEFF;UTF-8编码的前两字节为EFBB; 代码: package...

    最近负责处理一批文件数据,有的文件很大普通的文本编辑器打不开,导致不知道其所属编码。于是乎想通过写程序判断,分享一下。


    原理:

    通过获取文件的前三个字节来判断,Unicode编码 前两个字节为FFFE; Unicode big endian编码的前两字节为FEFF;UTF-8编码的前两字节为EFBB;


    代码:

    package com.xx.test;
    
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    
    public class EncodeTest {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		
    		test();
    	}
    	private static void test() {
    		String dir = "D:/fbb/myWorkSpace_DW07/FinalDB/";
    		String fileName = "FinalDB2013313-jzy-v001glasscom3243ac0f-f7fb-4517-9102-b5f1934536f7";
    //		String fileName = "D:/fbb/myWorkSpace_DW07/common_glass.log";
    		try {
    			String encoding = codeString(dir,fileName);
    			System.out.println("encoding:"+encoding);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		
    	}
    	/**
         * 判断文件的编码格式
         * @param fileName :file
         * @return 文件编码格式
         * @throws Exception
         */
        public static String codeString(String dir,String fileName) throws Exception{
        	
            File file = new File(dir+fileName);
            if(file==null || !file.exists()){
            	System.out.println("文件不存在..."+file.getAbsolutePath());
            	return null;
            }
            
    		BufferedInputStream bin = new BufferedInputStream( new FileInputStream(file));
            int p = (bin.read() << 8) + bin.read();
            String code = null;
            //其中的 0xefbb、0xfffe、0xfeff、0x5c75这些都是这个文件的前面两个字节的16进制数
            switch (p) {
                case 0xefbb:
                    code = "UTF-8";
                    break;
                case 0xfffe:
                    code = "Unicode";
                    break;
                case 0xfeff:
                    code = "UTF-16BE";
                    break;
                case 0x5c75:
                    code = "ANSI|ASCII" ;
                    break ;
                default:
                    code = "GBK";
            }
             
            return code;
        }
    }
    






    展开全文
  • 通用的文件字符编码集判断需要借助第三方包cpdetector.jar 使用Cpdetector jar包检测文件编码需要依赖antlr-2.7.7.jar、chardet-1.0.jar、jargs-1.0.jar三个jar包 本下载资源一站式全包含,并附带亲测有效的片段...
  • java判断字符是否为中文乱码的方法

    千次阅读 2018-05-15 18:42:57
    当我们通过设置request和response字符集,但是还是出现中文乱码的时候,今天给介绍一种通过java方法实现判断string是否为乱码的方法。 /** * 判断字符串是否是乱码 * * @param strName 字符串 * @return ...

       中文乱码在项目中是经常会遇到的情况。当我们通过设置request和response字符集,但是还是出现中文乱码的时候,今天给介绍一种通过java方法实现判断string是否为乱码的方法。

    	 /** 
         * 判断字符串是否是乱码 
         * 
         * @param strName 字符串 
         * @return 是否是乱码 
         */  
        public static boolean isMessyCode(String strName) {  
            Pattern p = Pattern.compile("\\s*|t*|r*|n*");  
            Matcher m = p.matcher(strName);  
            String after = m.replaceAll("");//去重为空的情况
            String temp = after.replaceAll("\\p{P}", "");  
            char[] ch = temp.trim().toCharArray();  
            float chLength = ch.length;  
            float count = 0;  
            for (int i = 0; i < ch.length; i++) {  
                char c = ch[i];  
                if (!Character.isLetterOrDigit(c)) {  
                    if (!isChinese(c)) {  
                        count = count + 1;  
                    }  
                }  
            }  
            float result = count / chLength;  
            if (result > 0.4) {  
                return true;  
            } else {  
                return false;  
            }  
       
        }  
        
        
        /** 
         * 判断字符是否是中文 
         * 
         * @param c 字符 
         * @return 是否是中文 
         */  
        public static boolean isChinese(char c) {  
            Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);  
            if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS  
                    || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS  
                    || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A  
                    || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION  
                    || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION  
                    || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {  
                return true;  
            }  
            return false;  
        }  
       
    	

    定义调用:

    public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		
    		/*List<String> list = new ArrayList<String>();
    		
    		Map<List<String>, String> map = new HashMap<>();*/
    		
    		
    		String messcode = "ss201888asdf;#????";
    		System.out.println(">>>>>>>>>>:"+isMessyCode(messcode));
    		
    		
    
    	}

    输出结果:

    >>>>>>>>>>:false
    

    展开全文
  • java判断字符串是否存在乱码

    千次阅读 2019-02-25 11:54:40
    java判断字符串是否存在乱码 从其他字符集向Unicode编码转换时,如果这个二进制数在该字符集中没有标识任何的字符,则得到的结果是0xfffd 代码实现:http://www.yayihouse.com/yayishuwu/chapter/1790  ...

    java判断字符串是否存在乱码

    从其他字符集向Unicode编码转换时,如果这个二进制数在该字符集中没有标识任何的字符,则得到的结果是0xfffd

    代码实现:http://www.yayihouse.com/yayishuwu/chapter/1790

     

    展开全文
  • Java字符集和编码

    千次阅读 2012-04-01 19:40:14
    本来以为自己对Java字符集和编码有一定了解,不过昨天和shiweidong同学讨论了几个问题,还真把我问住了。所以抽空搜索和整理了一下,有什么问题请大家指正。 首先是一些基本概念和术语 字符集(character set) ...
  • java字符集编码乱码详解
  • Java 判断字符串的存储长度

    千次阅读 2016-03-11 14:56:21
    判断前台输入项的长度应该都会碰到String.length() 判断出来没有超出最大长度,存到数据库就超出长度的问题,oracle字符集是gbk的不太清楚,如果是UTF-8,中文是占三个字符的,所以要对中文进行特别判断。...
  • Java 判断字符是大写小写或者数字

    千次阅读 2019-05-23 21:54:30
    Character.isLowerCase(Schar.charAt(i)) //获取字符串Schar中的某一个字符然后借用character类的方法来判断是不是小写.其他的方法还有:Character.isUpperCase(Schar.charAt(i)) Character.isDigit(Schar....
  • Java 中文字符判断

    千次阅读 2017-07-13 17:28:31
    java判断是否是中文字符,并且去除掉相关标点符号。
  • Java Character 实现Unicode字符集介绍 CJK中文字符和中文标点判断 主要内容: 1. Java Character类介绍; 2. Unicode 简介及 UnicodeBlock 与 UnicodeScript区别和联系 3. 如何判断汉字及中文标点符号   做...
  • 1.通过把未知编码字符串,用猜想的编码再解码,观察字符串是不是正确还原了。原理:假如目标编码没有数组中的字符,那么编码会破坏...大多数时候,我们只要判断本地平台编码和utf8,utf8编码相当有规律,所以可以分析是否是utf
  • JAVA字符集

    万次阅读 2006-08-29 17:28:00
    1. 概述 本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等。 在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 cec4",Unicode编码为"4e2d 6587",UTF编码...
  • package com.golden.nacecsns.weblayer.action.web.login; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class eee { pub
  • 最近一段时间作东西,总是因为要处理可能不通字符集的文件而烦心,虽然遭到一个程序库,好象是模仿Mozilla的一个C库使用java实现的,但是普通的情况下使用这个库是不是太大了点.于是将GBK作为默认编码,主要...
  • 深入了解java中的编码和字符集

    千次阅读 2017-02-06 12:58:50
    Java中的字符集编码入门 java编译器编码和JVM编码问题?Unicode是一个字符集,就好像一个字典一样,收录了全世界的文字啥的,英文是charset;ascii、gbk、utf-8、utf-16叫字符集编码,英文是encoding,例如utf-8和...
  • import org.apache.commons.lang3.StringUtils; import java.io.UnsupportedEncodingException;... * 判断字符编码 * * @author guyinyihun */ public class CharacterCodingUtil { private final static St...
  • 上次做题目的时候,自己都感觉机智的一匹,哈哈。 觉得有点意思,记录一下。... 主要核心思想是:输出一个字符,要么回退,被后面的字符覆盖,或者不回退,继续输出。反复操作。 我的思路是这样的
  • Java判断字符编码以及转码

    万次阅读 2012-11-20 19:56:50
    java判断字符编码以及转码   java判断字符编码以及转码Java代码 java判断字符编码以及转码 [参考]判断字符编码以及转码的一个工具类 ...
  • Java中文字符编码判断

    千次阅读 2018-05-26 09:44:56
    在开发中产品允许用户输入中文是一件很头疼的事,不同地方产生的请求传过来的中文字符可能编码不同,存到数据库都变成了可爱的乱码,所以必须先把它转成统一的编码格式,how?public static String ...
  • Java字符集编码问题研究

    千次阅读 2007-08-26 19:08:00
    字符集编码--问题研究(java)问题研究--字符集编码1. 概述本文主要包括以下几个方面:编码基本知识,java,系统软件,url,工具软件等。在下面的描述中,将以"中文"两个字为例,经查表可以知道其GB2312编码是"d6d0 ...
  • JAVA读取和写入文件时如果不指定字符集,那么都是采用操作系统默认的字符集.当我们在Windows平台上创建一个文件包含有中文,然后在Linux 平台下用JAVA读出来,那么很有可能会出现乱码.这是因为:在Windows中文版平台下,...
  • java判断是否含有特殊字符

    万次阅读 2017-07-26 09:38:57
    java判断是否含有特殊字符 标签:java 2017-04-28 11:241727人阅读评论(0)收藏举报 分类: Java(14) 版权声明:本文为博主原创文章,未经博主允许不得转载。转载请标明原文出处链接。 /** * 判断是否含有...
  • 分析了http协议下,java平台字符集原理,导致中文乱码原因和解决方案。 本文部分内容摘自网络,版权归原作者所有。
  • 判断字符串中是否含有Emoji表情并去除 查询数据库异常,说字符集异常 原因:是数据库的字符集使用的是 utf-8 mb4 解决办法:去除Emoji表情 /** 判断字符串是否含有Emoji表情 **/ private boolean isHasEmoji...
  • java读写文件时候设定字符集

    千次阅读 2011-11-29 16:07:25
    JAVA读取和写入文件时如果不指定字符集,那么都是采用操作系统默认的字符集.当我们在Windows平台上创建一个文件包含有中文,然后在Linux 平台下用JAVA读出来,那么很有可能会出现乱码.这是因为:在Windows中文版平台下,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 112,325
精华内容 44,930
关键字:

java判断字符集

java 订阅