博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java随机生成中文汉字(使用高位低位转码)
阅读量:7008 次
发布时间:2019-06-28

本文共 1701 字,大约阅读时间需要 5 分钟。

1 Java随机生成中文汉字 2     /** 3      * 原理是从汉字区位码找到汉字。在汉字区位码中分高位与底位, 且其中简体又有繁体。位数越前生成的汉字繁体的机率越大。 4      * 所以在本例中高位从171取,底位从161取, 去掉大部分的繁体和生僻字。但仍然会有!! 5      *  6      */ 7     @Test 8     public void create() throws Exception { 9         String str = null;10         int hightPos, lowPos; // 定义高低位11         Random random = new Random();12         hightPos = (176 + Math.abs(random.nextInt(39)));//获取高位值13         lowPos = (161 + Math.abs(random.nextInt(93)));//获取低位值14         byte[] b = new byte[2];15         b[0] = (new Integer(hightPos).byteValue());16         b[1] = (new Integer(lowPos).byteValue());17         str = new String(b, "GBk");//转成中文18         System.err.println(str);19     }20 21     /**22      * 旋转和缩放文字23      * 必须要使用Graphics2d类24      */25     public void trans(HttpServletRequest req, HttpServletResponse resp) throws Exception{26         int width=88;27         int height=22;28         BufferedImage img = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);29         Graphics g = img.getGraphics();30         Graphics2D g2d = (Graphics2D) g;31         g2d.setFont(new Font("黑体",Font.BOLD,17));32         Random r = new Random();33         for(int i=0;i<4;i++){34             String str = ""+r.nextInt(10);35             AffineTransform aff = new AffineTransform();36             aff.rotate(Math.random(),i*18,height-5);37             aff.scale(0.6+Math.random(), 0.6+Math.random());38             g2d.setTransform(aff);39             g2d.drawString(str,i*18,height-5);40             System.err.println(">:"+str);41         }42         g2d.dispose();43         ImageIO.write(img, "JPEG",resp.getOutputStream());44     }

 

转载于:https://www.cnblogs.com/litaiqing/p/4315603.html

你可能感兴趣的文章
深入理解Java虚拟机(一)
查看>>
Docker Nginx 静态资源部署
查看>>
DSA数字签名算法
查看>>
Mongodb Mac安装
查看>>
中间件事务码R3AC1里Block Size的含义
查看>>
实战Android 上推下拉——隐藏、显示ActionBar
查看>>
使用MDK5新建STM32开发环境
查看>>
java时区理解
查看>>
人工智能让边缘计算更有价值!
查看>>
React 设计模式和场景分析
查看>>
Node.js教程第三篇—— Node.js 流
查看>>
自动将BAT文件转换为EXE
查看>>
京东的批作业?
查看>>
ubuntu下salt安装使用初体验
查看>>
PowerShell 多线程测试IP端口
查看>>
使用SQL Server 2008 Extended Events SSMS Addin轻松管理XEvents
查看>>
Django-celery 安装及使用测试
查看>>
Linux字符设备驱动编写流程
查看>>
一台CentOS主机上运行多个Tomcat7的配置
查看>>
SQL2K数据库开发三之收缩数据库
查看>>