最近入聊天记录入库发现有的数据入库报错,改数据库字符格式也不行,看到网上的例子,拿过来用了下,再次记录一下,方便有用到的朋友。

/**
     * 过滤手机emoji表情
     * author FengXiYang
     * date 2016-5-11 下午3:19:17
     * @param str
     * @return
     */
    private static String filteEmoji(String str){
         Pattern emoji = Pattern . compile ( "[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]" ,Pattern .UNICODE_CASE | Pattern .CASE_INSENSITIVE ) ;
         Matcher emojiMatcher = emoji.matcher(str);
         if(emojiMatcher.find()) {
             return "" ;
         }
         return str;
    }

//20170428最新补充记录

package com.elong.titan.hotel.controller.utils;

import com.elong.titan.log.Log;
import com.elong.titan.log.item.InfoLog;

/**
 * 过滤安卓/IOS 自带emoji表情过滤工具类
* @ClassName: EmojiFilterUtil 
* @Description: TODO(这里用一句话描述这个类的作用) 
* @author xiyang.feng
* @date 2017年4月18日 下午4:14:39
 */
public class EmojiFilterUtil {
    
     public static String filter(String src) {
        Log.write(InfoLog.getInstance().setContent("EmojiFilterUtil=============" + src));
        if (src == null|| ("").equals(src)) {
            return src;
        }
        src = src.replaceAll("insert", "")  
                .replaceAll("select", "")  
                .replaceAll("update", "")  
                .replaceAll("delete", "")  
                .replaceAll("and", "")  
                .replaceAll("or", "")
                .replaceAll("<script>", "(*")
                .replaceAll("</script>", ")")
                .replaceAll("<", "&lt;")
                .replaceAll(">", "&gt;");  
        int cpCount = src.codePointCount(0, src.length());
        int firCodeIndex = src.offsetByCodePoints(0, 0);
        int lstCodeIndex = src.offsetByCodePoints(0, cpCount - 1);
        StringBuilder sb = new StringBuilder(src.length());
        for (int index = firCodeIndex; index <= lstCodeIndex;) {
            int codepoint = src.codePointAt(index);
            if (!isEmojiCharacter(codepoint)) {
                sb.append((char) codepoint);
            }
            index += ((Character.isSupplementaryCodePoint(codepoint)) ? 2 : 1);

}
        Log.write(InfoLog.getInstance().setContent("EmojiFilterUtil=============" + src));
        return sb.toString();
    }
         
     private static boolean isEmojiCharacter(int codePoint) {
        return (codePoint >= 0x2600 && codePoint <= 0x27BF) // 杂项符号与符号字体
                || codePoint == 0x303D
                || codePoint == 0x2049
                || codePoint == 0x203C
                || (codePoint >= 0x2000 && codePoint <= 0x200F)//
                || (codePoint >= 0x2028 && codePoint <= 0x202F)//
                || codePoint == 0x205F //
                || (codePoint >= 0x2065 && codePoint <= 0x206F)//
                /* 标点符号占用区域 */
                || (codePoint >= 0x2100 && codePoint <= 0x214F)// 字母符号
                || (codePoint >= 0x2300 && codePoint <= 0x23FF)// 各种技术符号
                || (codePoint >= 0x2B00 && codePoint <= 0x2BFF)// 箭头A
                || (codePoint >= 0x2900 && codePoint <= 0x297F)// 箭头B
                || (codePoint >= 0x3200 && codePoint <= 0x32FF)// 中文符号
                || (codePoint >= 0xD800 && codePoint <= 0xDFFF)// 高低位替代符保留区域
                || (codePoint >= 0xE000 && codePoint <= 0xF8FF)// 私有保留区域
                || (codePoint >= 0xFE00 && codePoint <= 0xFE0F)// 变异选择器
                || codePoint >= 0x10000; // Plane在第二平面以上的,char都不可以存,全部都转
    }
    
    
    //以下方法为最初开发,编码不够全面,先屏蔽
//    public final static String unicodeReg = "[" + "\u4E00-\u9FBF" + // :CJK
//                                                                    // 统一表意符号
//                                                                    // (CJK
//                                                                    // Unified
//                                                                    // Ideographs)
//            "\u4DC0-\u4DFF" + // :易经六十四卦符号 (Yijing Hexagrams Symbols)
//            "\u0000-\u007F" + // :C0控制符及基本拉丁文 (C0 Control and Basic Latin)
//            "\u0080-\u00FF" + // :C1控制符及拉丁:补充-1 (C1 Control and Latin 1
//                                // Supplement)
//            "\u0100-\u017F" + // :拉丁文扩展-A (Latin Extended-A)
//            "\u0180-\u024F" + // :拉丁文扩展-B (Latin Extended-B)
//            "\u0250-\u02AF" + // :国际音标扩展 (IPA Extensions)
//            "\u02B0-\u02FF" + // :空白修饰字母 (Spacing Modifiers)
//            "\u0300-\u036F" + // :结合用读音符号 (Combining Diacritics Marks)
//            "\u0370-\u03FF" + // :希腊文及科普特文 (Greek and Coptic)
//            "\u0400-\u04FF" + // :西里尔字母 (Cyrillic)
//            "\u0500-\u052F" + // :西里尔字母补充 (Cyrillic Supplement)
//            "\u0530-\u058F" + // :亚美尼亚语 (Armenian)
//            "\u0590-\u05FF" + // :希伯来文 (Hebrew)
//            "\u0600-\u06FF" + // :阿拉伯文 (Arabic)
//            "\u0700-\u074F" + // :叙利亚文 (Syriac)
//            "\u0750-\u077F" + // :阿拉伯文补充 (Arabic Supplement)
//            "\u0780-\u07BF" + // :马尔代夫语 (Thaana)
//            // "\u07C0-\u077F"+//:西非书面语言 (N'Ko)
//            "\u0800-\u085F" + // :阿维斯塔语及巴列维语 (Avestan and Pahlavi)
//            "\u0860-\u087F" + // :Mandaic
//            "\u0880-\u08AF" + // :撒马利亚语 (Samaritan)
//            "\u0900-\u097F" + // :天城文书 (Devanagari)
//            "\u0980-\u09FF" + // :孟加拉语 (Bengali)
//            "\u0A00-\u0A7F" + // :锡克教文 (Gurmukhi)
//            "\u0A80-\u0AFF" + // :古吉拉特文 (Gujarati)
//            "\u0B00-\u0B7F" + // :奥里亚文 (Oriya)
//            "\u0B80-\u0BFF" + // :泰米尔文 (Tamil)
//            "\u0C00-\u0C7F" + // :泰卢固文 (Telugu)
//            "\u0C80-\u0CFF" + // :卡纳达文 (Kannada)
//            "\u0D00-\u0D7F" + // :德拉维族语 (Malayalam)
//            "\u0D80-\u0DFF" + // :僧伽罗语 (Sinhala)
//            "\u0E00-\u0E7F" + // :泰文 (Thai)
//            "\u0E80-\u0EFF" + // :老挝文 (Lao)
//            "\u0F00-\u0FFF" + // :藏文 (Tibetan)
//            "\u1000-\u109F" + // :缅甸语 (Myanmar)
//            "\u10A0-\u10FF" + // :格鲁吉亚语 (Georgian)
//            "\u1100-\u11FF" + // :朝鲜文 (Hangul Jamo)
//            "\u1200-\u137F" + // :埃塞俄比亚语 (Ethiopic)
//            "\u1380-\u139F" + // :埃塞俄比亚语补充 (Ethiopic Supplement)
//            "\u13A0-\u13FF" + // :切罗基语 (Cherokee)
//            "\u1400-\u167F" + // :统一加拿大土著语音节 (Unified Canadian Aboriginal
//                                // Syllabics)
//            "\u1680-\u169F" + // :欧甘字母 (Ogham)
//            "\u16A0-\u16FF" + // :如尼文 (Runic)
//            "\u1700-\u171F" + // :塔加拉语 (Tagalog)
//            "\u1720-\u173F" + // :Hanunóo
//            "\u1740-\u175F" + // :Buhid
//            "\u1760-\u177F" + // :Tagbanwa
//            "\u1780-\u17FF" + // :高棉语 (Khmer)
//            "\u1800-\u18AF" + // :蒙古文 (Mongolian)
//            "\u18B0-\u18FF" + // :Cham
//            "\u1900-\u194F" + // :Limbu
//            "\u1950-\u197F" + // :德宏泰语 (Tai Le)
//            "\u1980-\u19DF" + // :新傣仂语 (New Tai Lue)
//            "\u19E0-\u19FF" + // :高棉语记号 (Kmer Symbols)
//            "\u1A00-\u1A1F" + // :Buginese
//            "\u1A20-\u1A5F" + // :Batak
//            "\u1A80-\u1AEF" + // :Lanna
//            "\u1B00-\u1B7F" + // :巴厘语 (Balinese)
//            "\u1B80-\u1BB0" + // :巽他语 (Sundanese)
//            "\u1BC0-\u1BFF" + // :Pahawh Hmong
//            "\u1C00-\u1C4F" + // :雷布查语(Lepcha)
//            "\u1C50-\u1C7F" + // :Ol Chiki
//            "\u1C80-\u1CDF" + // :曼尼普尔语 (Meithei/Manipuri)
//            "\u1D00-\u1D7F" + // :语音学扩展 (Phone tic Extensions)
//            "\u1D80-\u1DBF" + // :语音学扩展补充 (Phonetic Extensions Supplement)
//            "\u1DC0-\u1DFF" + // 结合用读音符号补充 (Combining Diacritics Marks
//                                // Supplement)
//            "\u1E00-\u1EFF" + // :拉丁文扩充附加 (Latin Extended Additional)
//            "\u1F00-\u1FFF" + // :希腊语扩充 (Greek Extended)
//            "\u2000-\u206F" + // :常用标点 (General Punctuation)
//            "\u2070-\u209F" + // :上标及下标 (Superscripts and Subscripts)
//            "\u20A0-\u20CF" + // :货币符号 (Currency Symbols)
//            "\u20D0-\u20FF" + // :组合用记号 (Combining Diacritics Marks for Symbols)
//            "\u2100-\u214F" + // :字母式符号 (Letterlike Symbols)
//            "\u2150-\u218F" + // :数字形式 (Number Form)
//            "\u2190-\u21FF" + // :箭头 (Arrows)
//            "\u2200-\u22FF" + // :数学运算符 (Mathematical Operator)
//            "\u2300-\u23FF" + // :杂项工业符号 (Miscellaneous Technical)
//            "\u2400-\u243F" + // :控制图片 (Control Pictures)
//            "\u2440-\u245F" + // :光学识别符 (Optical Character Recognition)
//            "\u2460-\u24FF" + // :封闭式字母数字 (Enclosed Alphanumerics)
//            "\u2500-\u257F" + // :制表符 (Box Drawing)
//            "\u2580-\u259F" + // :方块元素 (Block Element)
//            "\u25A0-\u25FF" + // :几何图形 (Geometric Shapes)
//            "\u2600-\u26FF" + // :杂项符号 (Miscellaneous Symbols)
//            "\u2700-\u27BF" + // :印刷符号 (Dingbats)
//            "\u27C0-\u27EF" + // :杂项数学符号-A (Miscellaneous Mathematical
//                                // Symbols-A)
//            "\u27F0-\u27FF" + // :追加箭头-A (Supplemental Arrows-A)
//            "\u2800-\u28FF" + // :盲文点字模型 (Braille Patterns)
//            "\u2900-\u297F" + // :追加箭头-B (Supplemental Arrows-B)
//            "\u2980-\u29FF" + // :杂项数学符号-B (Miscellaneous Mathematical
//                                // Symbols-B)
//            "\u2A00-\u2AFF" + // :追加数学运算符 (Supplemental Mathematical Operator)
//            "\u2B00-\u2BFF" + // :杂项符号和箭头 (Miscellaneous Symbols and Arrows)
//            "\u2C00-\u2C5F" + // :格拉哥里字母 (Glagolitic)
//            "\u2C60-\u2C7F" + // :拉丁文扩展-C (Latin Extended-C)
//            "\u2C80-\u2CFF" + // :古埃及语 (Coptic)
//            "\u2D00-\u2D2F" + // :格鲁吉亚语补充 (Georgian Supplement)
//            "\u2D30-\u2D7F" + // :提非纳文 (Tifinagh)
//            "\u2D80-\u2DDF" + // :埃塞俄比亚语扩展 (Ethiopic Extended)
//            "\u2E00-\u2E7F" + // :追加标点 (Supplemental Punctuation)
//            "\u2E80-\u2EFF" + // :CJK 部首补充 (CJK Radicals Supplement)
//            "\u2F00-\u2FDF" + // :康熙字典部首 (Kangxi Radicals)
//            "\u2FF0-\u2FFF" + // :表意文字描述符 (Ideographic Description Characters)
//            "\u3000-\u303F" + // :CJK 符号和标点 (CJK Symbols and Punctuation)
//            "\u3040-\u309F" + // :日文平假名 (Hiragana)
//            "\u30A0-\u30FF" + // :日文片假名 (Katakana)
//            "\u3100-\u312F" + // :注音字母 (Bopomofo)
//            "\u3130-\u318F" + // :朝鲜文兼容字母 (Hangul Compatibility Jamo)
//            "\u3190-\u319F" + // :象形字注释标志 (Kanbun)
//            "\u31A0-\u31BF" + // :注音字母扩展 (Bopomofo Extended)
//            "\u31C0-\u31EF" + // :CJK 笔画 (CJK Strokes)
//            "\u31F0-\u31FF" + // :日文片假名语音扩展 (Katakana Phonetic Extensions)
//            "\u3200-\u32FF" + // :封闭式 CJK 文字和月份 (Enclosed CJK Letters and
//                                // Months)
//            "\u3300-\u33FF" + // :CJK 兼容 (CJK Compatibility)
//            "\u3400-\u4DBF" + // :CJK 统一表意符号扩展 A (CJK Unified Ideographs
//                                // Extension A)
//            "\u4DC0-\u4DFF" + // :易经六十四卦符号 (Yijing Hexagrams Symbols)
//            "\u4E00-\u9FBF" + // :CJK 统一表意符号 (CJK Unified Ideographs)
//            "\uA000-\uA48F" + // :彝文音节 (Yi Syllables)
//            "\uA490-\uA4CF" + // :彝文字根 (Yi Radicals)
//            "\uA500-\uA61F" + // :Vai
//            "\uA660-\uA6FF" + // :统一加拿大土著语音节补充 (Unified Canadian Aboriginal
//                                // Syllabics Supplement)
//            "\uA700-\uA71F" + // :声调修饰字母 (Modifier Tone Letters)
//            "\uA720-\uA7FF" + // :拉丁文扩展-D (Latin Extended-D)
//            "\uA800-\uA82F" + // :Syloti Nagri
//            "\uA840-\uA87F" + // :八思巴字 (Phags-pa)
//            "\uA880-\uA8DF" + // :Saurashtra
//            "\uA900-\uA97F" + // :爪哇语 (Javanese)
//            "\uA980-\uA9DF" + // :Chakma
//            "\uAA00-\uAA3F" + // :Varang Kshiti
//            "\uAA40-\uAA6F" + // :Sorang Sompeng
//            "\uAA80-\uAADF" + // :Newari
//            "\uAB00-\uAB5F" + // :越南傣语 (Vi?t Thái)
//            "\uAB80-\uABA0" + // :Kayah Li
//            "\uAC00-\uD7AF" + // :朝鲜文音节 (Hangul Syllables)
//            // "\uD800-\uDBFF"+//:High-half zone of UTF-16
//            // "\uDC00-\uDFFF"+//:Low-half zone of UTF-16
//            "\uE000-\uF8FF" + // :自行使用区域 (Private Use Zone)
//            "\uF900-\uFAFF" + // :CJK 兼容象形文字 (CJK Compatibility Ideographs)
//            "\uFB00-\uFB4F" + // :字母表达形式 (Alphabetic Presentation Form)
//            "\uFB50-\uFDFF" + // :阿拉伯表达形式A (Arabic Presentation Form-A)
//            "\uFE00-\uFE0F" + // :变量选择符 (Variation Selector)
//            "\uFE10-\uFE1F" + // :竖排形式 (Vertical Forms)
//            "\uFE20-\uFE2F" + // :组合用半符号 (Combining Half Marks)
//            "\uFE30-\uFE4F" + // :CJK 兼容形式 (CJK Compatibility Forms)
//            "\uFE50-\uFE6F" + // :小型变体形式 (Small Form Variants)
//            "\uFE70-\uFEFF" + // :阿拉伯表达形式B (Arabic Presentation Form-B)
//            "\uFF00-\uFFEF" + // :半型及全型形式 (Halfwidth and Fullwidth Form)
//            "\uFFF0-\uFFFF]";// :特殊 (Specials);
//
//    /**
//     * 将字符串转成unicode
//     * @param str 待转字符串
//     * @return unicode字符串
//     */
//    public static String convert(String str) {
//        str = (str == null ? "" : str);
//        String tmp;
//        StringBuffer sb = new StringBuffer(1000);
//        char c;
//        int i, j;
//        sb.setLength(0);
//        for (i = 0; i < str.length(); i++) {
//            c = str.charAt(i);
//            sb.append("\\u");
//            j = (c >>> 8); // 取出高8位
//            tmp = Integer.toHexString(j);
//            if (tmp.length() == 1) {
//                sb.append("0");
//            }
//            sb.append(tmp);
//            j = (c & 0xFF); // 取出低8位
//            tmp = Integer.toHexString(j);
//            if (tmp.length() == 1) {
//                sb.append("0");
//            }
//            sb.append(tmp);
//
//        }
//        return (new String(sb).toUpperCase());
//    }

//    /**
//     * 2)unicode转成字符串,与上述过程反向操作即可 将unicode 字符串
//     * @param str 待转字符串
//     * @return 普通字符串
//     */
//    public static String revert(String str) {
//        str = (str == null ? "" : str);
//        if (str.indexOf("\\u") == -1)// 如果不是unicode码则原样返回
//            return str;
//
//        StringBuffer sb = new StringBuffer(1000);
//
//        for (int i = 0; i < str.length() - 6;) {
//            String strTemp = str.substring(i, i + 6);
//            String value = strTemp.substring(2);
//            int c = 0;
//            for (int j = 0; j < value.length(); j++) {
//                char tempChar = value.charAt(j);
//                int t = 0;
//                switch (tempChar) {
//                case 'a':
//                    t = 10;
//                    break;
//                case 'b':
//                    t = 11;
//                    break;
//                case 'c':
//                    t = 12;
//                    break;
//                case 'd':
//                    t = 13;
//                    break;
//                case 'e':
//                    t = 14;
//                    break;
//                case 'f':
//                    t = 15;
//                    break;
//                default:
//                    t = tempChar - 48;
//                    break;
//                }
//
//                c += t * ((int) Math.pow(16, (value.length() - j - 1)));
//            }
//            sb.append((char) c);
//            i = i + 6;
//        }
//        return sb.toString();
//    }
//
//    public static String emojiChange(String source) {
//        if(!StringUtils.isNotBlank(source)){  
//            return source;
//        }
//        source = source.replaceAll("insert", "")  
//                .replaceAll("select", "")  
//                .replaceAll("update", "")  
//                .replaceAll("delete", "")  
//                .replaceAll("and", "")  
//                .replaceAll("or", "")
//                .replaceAll("<script>", "(*")
//                .replaceAll("</script>", ")")
//                .replaceAll("<", "&lt;")
//                .replaceAll(">", "&gt;");  
//        source = source.replaceAll("[\\ud800\\udc00-\\udbff\\udfff\\ud800-\\udfff]", "");  
//        try {
//            Pattern pattern = Pattern.compile(unicodeReg);
//            StringBuffer sbBuffer = new StringBuffer();
//            for (int i = 0; i < source.length(); i++) {
//                char c = source.charAt(i);
//                String temp = String.valueOf(c);
//                Matcher matcher = pattern.matcher(temp);
//                if (matcher.find()) {
//                    sbBuffer.append(temp);
//                } else {
//                    sbBuffer.append("");
//                }
//            }
//            return sbBuffer.toString();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return "";
//    }
    
}

转载于:https://my.oschina.net/aicoding/blog/674022

java过来emoji手机表情,mysql入库相关推荐

  1. java字符串Emoji表情的处理

    在做全局搜索时,遇到内容中有手机表情,存入数据库是报错!网上找了半天,发现好多人不去实验一下就复制别人的代码网上发,然后导致我拿来用直接不行.最终找到一个可以行办法,在此总结一下: 方法主要有两个: ...

  2. php mysql emoji表情_php 让MySQL支持Emoji表情 mysql 5.5.3+

    让MySQL支持Emoji表情 mysql 5.5.3+ 让mysql支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集. mysql 版本 5.6 1 解决 ...

  3. java去除emoji表情等特殊字符。

    java去除emoji表情等特殊字符.保留html标签 package test;import java.util.regex.Matcher; import java.util.regex.Patt ...

  4. JAVA计算机毕业设计手机电子商城源码+系统+mysql数据库+lw文档

    JAVA计算机毕业设计手机电子商城源码+系统+mysql数据库+lw文档 JAVA计算机毕业设计手机电子商城源码+系统+mysql数据库+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  5. 微信获取nickname mysql乱码_微信nickname乱码(emoji)及mysql编码格式设置(utf8mb4)解决的过程...

    本身的练习项目中涉及保存微信的nickname,以前一直正常使用,可是忽然遇到一个以前没有遇到的问题.通过调试发现错误以下: Incorrect string value: '\xF0\x9F\x99 ...

  6. php 评论中添加手机表情,提示插入到数据库中出错,有解决办法

    最近在用手机上的表情对某一个文章进行评论时,发现插入到数据库的语句出错了, 就是插入表情的那一句出的错 具体的解决方法是: 文章评论表:articleComment,我需要向其中的content字段中 ...

  7. java计算机毕业设计手机测试管理系统源代码+数据库+系统+lw文档

    java计算机毕业设计手机测试管理系统源代码+数据库+系统+lw文档 java计算机毕业设计手机测试管理系统源代码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 ...

  8. 基于javaweb的房产中介管理系统(java+ssm+html+bootstrap+layui+mysql)

    基于javaweb的房产中介管理系统(java+ssm+html+bootstrap+layui+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/ ...

  9. 基于javaweb的仓库管理系统(java+springboot+layui+html+thymeleaf+mysql+实训报告)

    基于javaweb的仓库管理系统(java+springboot+layui+html+thymeleaf+mysql+实训报告) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse ...

  10. 基于javaweb的物流快递管理系统(java+ssm+html+js+jsp+mysql)

    基于javaweb的物流快递管理系统(java+ssm+html+js+jsp+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myec ...

最新文章

  1. Web应用中的轻量级消息队列
  2. uva-10152-乌龟排序
  3. 趣链 BitXHub跨链平台 (2)跨链网络拓扑
  4. 【机器学习基础】机器学习的损失函数小结
  5. 自编码AutoEncoder 及PyTorch 实现
  6. java 双等于 equals_在Java中等于equals vs Arrays.equals
  7. java 类的域_Java类中对象域的初始化
  8. DPDK 21.08 hygon (海光) CPU 环境构建
  9. OSChina 周四乱弹 —— 不要生气!我不要生气!
  10. LibLand摄相头驱动 for Linux
  11. 基于ROS2多机器人编程资料
  12. 气象竞赛计算机技巧,气象装备保障竞赛及故障排除技巧分析
  13. C语言limits.h和float.h头文件
  14. matlab如何将二进制转换为十进制,matlab – 如何在不使用循环的情况下将二进制转换为十进制?...
  15. 高颜值无线蓝牙耳机,南卡N2S芯片强劲音质好,还能当充电宝用
  16. ubuntu使用问题
  17. AD怎么输入坐标_测绘仪器怎么用?
  18. 九章算法笔记D2-坐标型动态规划
  19. 今天面了个腾讯拿30k出来的,真是小母牛按门铃,牛逼到家了
  20. matlab 里定义全局变量,常量

热门文章

  1. Python简易图片批量压缩程序
  2. matlab在solver,matlab的solver
  3. 获两个千亿IPO投资人王刚:要逼自己在质上进取,不是在量上贪婪
  4. 清除计算机垃圾cmd命令,cmd清理缓存命令(cmd命令清除垃圾)
  5. X书app数美-sid分析
  6. Html 使 tbody加上滚动条
  7. python实现简单的抢票程序
  8. 5G NGC — 关键技术 — 网络切片 — 网络切片管理器网元
  9. BIOS设置图解教程
  10. 如何下载东四街道卫星地图高清版大图