1. 汉字在日常的编程过程中几乎不会涉及到,但在压力测试中经常会有涉及到造标题,造文章等操作。

2. 接下来讲一下如何利用Java生成随机长度的汉字的操作


package com.hao.one;

import java.io.UnsupportedEncodingException;
import java.util.Random;

/** * 描述: * * @since 2019年7月16日 下午3:46:47 * @author */
public class RandomLengthData {
    public static void main(String[] args) {

        System.out.println(getRandomString(10, 10));
        // System.out.println(getOneRandomChar());
    }

    /** * 随机汉字构建(随机长度) * * @param param * 长度在0-param 之间的汉字 * @param length * 长度为length长的汉字 * @return [length,(length+param)]区间的汉字 */
    public static String getRandomString(int param, int length) {

        Random random = new Random();

        // 长度为[length,length+param]
        int rn = random.nextInt(param) + length;

        StringBuilder ret = new StringBuilder();

        for (int i = 0; i < rn; i++) {
            ret.append(getOneRandomChar());
        }

        return ret.toString();
    }

    /** * 随机汉字生成 */
    public static char getOneRandomChar() {

        String str = "";
        int hightPos;
        int lowPos;

        Random random = new Random();

        // 两个数字与GBK编码的知识相关,此处不做详解,直接百度GBK编码即可
        hightPos = (176 + random.nextInt(39));
        lowPos = (161 + random.nextInt(93));

        byte[] b = new byte[2];
        b[0] = (Integer.valueOf(hightPos)).byteValue();
        b[1] = (Integer.valueOf(lowPos)).byteValue();

        try {

            // 将字节转化为汉字
            str = new String(b, "GBK");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return str.charAt(0);
    }

}

以上便是生成随机长度的文字的过程。