需求:把字符串转换成unicode编码加密。

也可以把unicode编码解密并分析出汉字字母数字字符各多少个。

unicode编码 \u 后面是一个16进制编码,必要时需要进行转换。

看源码:

0 <!DOCTYPE html>
1 <html lang="en">
2 <head>
3 <meta charset="UTF-8">
4 <title>Document</title>
5 <style>
6 *{
7 margin: 0;
8 padding: 0;
9 }
10 body{
11 height: 5000px;
12 }
13 p{
14 color: green;
15 font-size: 20px;
16 }
17 </style>
18 </head>
19 <body>
20 <input type="text">
21 <button class="jm">加密</button>
22 <button class="dm">解密</button>
23 <p></p>
24 <script>
25 var ipt = document.querySelector('input'),
26 jm = document.querySelector('.jm'),
27 dm =document.querySelector('.dm'),
28 p = document.querySelector('p');
29 jm.addEventListener('click', function(){
30 var iptVal = ipt.value,
31 arr = [],
32 iptLength = iptVal.length
33 var i = 0;
34 for(i; i < iptLength; i += 1){
35 arr[i] = ('00' + iptVal.charCodeAt(i).toString(16)).slice(-4);
36 }
37 var str =  '\\u' + arr.join('\\u');
38 p.innerHTML = str;
39 })
40  
41 dm.addEventListener('click',function(){
42 var iptVal = ipt.value,
43 i = 0,
44 str = iptVal.replace(/\\/g,'%');
45 str = unescape(str),
46 strLength = str.length,
47 num = 0,
48 zi = 0,
49 mu = 0,
50 qi = 0,
51 Rnum = /[0-9]/,
52 Rzi = /[\u4e00-\u9fa5]/,
53 Rmu = /[A-Za-z]/;
54  
55 for(i; i < strLength; i += 1){
56 if(Rnum.test(str[i])){
57 num ++;
58 }else if (Rzi.test(str[i])) {
59 zi ++;
60 }else if (Rmu.test(str[i])) {
61 mu ++;
62 }else{
63 qi ++;
64 }
65 }
66  
67 p.innerHTML = '字符串总长度:' + strLength + ',字母' + mu + '个,汉字' + zi + '个,数字' + num + '个,其他的有' + qi + '个。';
68 })
69 </script>
70 </body>
71 </html>

原文链接-摘自大公爵

unicode编码相互转换加密解密的更多相关文章

  1. Java 关于密码处理的工具类[MD5编码][AES加密/解密]

    项目中又遇到了加密问题,又去翻了半天,然后做测试,干脆就把常用的两类小结一下. 1.第一种所谓的MD5加密 其实也不算加密,只是基于Hash算法的不可逆编码而已,等于说,一旦经过MD5处理,是不可能从 ...

  2. java中文和unicode编码相互转换(转)

    工具类代码如下: package aa.com; import java.io.UnsupportedEncodingException; public class UnicodeUtil { pub ...

  3. 中文字符串转换为十六进制Unicode编码字符串

    package my.unicode; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Uni ...

  4. Unicode编码转换, MD5加密,URL16进制加密解密

    一.站长网址:http://www.msxindl.com/ 1.Unicode与中文互转 16进制Unicode编码转换.还原   :http://www.msxindl.com/tools/uni ...

  5. JAVA和PYTHON同时实现AES的加密解密操作---且生成的BASE62编码一致

    终于有机会生产JAVA的东东了. 有点兴奋. 花了一天搞完.. java(关键key及算法有缩减): package com.security; import javax.crypto.Cipher; ...

  6. 用C#实现Base64处理,加密解密,编码解码

    using System; using System.Text; namespace Common { /// <summary> /// 实现Base64加密解密 /// 作者:周公 / ...

  7. 利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  8. Python中的Base64编码的加密与解密

    Base64 可以干些啥? Base64编码的作用: 由于某些系统中只能使用ASCII字符.Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法. 图片(and种子)base64 ...

  9. python2中将Unicode编码的中文和str相互转换

    在python2x版本中 关于中文汉字转换 1.中文------字符串格式 >>> s = '汉字' >>> type(s) <type 'str'> ...

随机推荐

  1. vs指定QT的工作目录(其它项目也是如此)

    当一个工程依赖第三方动态库时,这时vs编译出来后,运行会提示缺少动态库.解决方法: 项目->属性->调试: 工作目录:指定程序运行时的目录 环境:指定程序运行时的环境变量 我们可以在环境变 ...

  2. 判断进程是64bit还是32bit

    #pragmaregion Includes#include<stdio.h>#include <windows.h>#pragmaendregionBOOL  DoesWin ...

  3. git搭建服务器

    搭建Git服务器 在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商 ...

  4. Xcode 3.2.5免证书开发调试

    Xcode 3.2.5免证书开发调试 xcode3.2.5 应该没人用了.这里做个保存而已. Xcode编译遇到过 Code Sign error: a valid provisioning prof ...

  5. golang仿AS3写的ByteArray

    用golang写了个仿AS3写的ByteArray,稍微有点差别,demo能成功运行,还未进行其他测试 主要参考的是golang自带库里的Buffer,结合了binary 来看看demo: packa ...

  6. Paxos算法小结

    转自不正直的绅士,因百度空间迁移,无法注明出处,我从其google搜索引擎中的cache进行的copy. 不正直的绅士 是跟我一起工作过的非常有才的一个青年才俊. Paxos的使用非常广泛.sanlo ...

  7. Boost.Asio c++ 网络编程翻译(14)

    保持活动 假如,你须要做以下的操作: io_service service; ip::tcp::socket sock(service); char buff[512]; ... read(sock, ...

  8. 获取第上一个兄弟元素 屏蔽浏览器的差异(PreviousElementSibling)

    //获取element上一个兄弟元素 function getPreviousElementSibling(element){ //能力检测 判断是否支持PreviousElementSibling ...

  9. Android中adb push和adb install的使用区别

    Android中adb push和adb install的使用区别  转载 本篇文章由史迎春(@三俗小女子)投稿.转载请注明原文地址. 在Android实际开发中,经常会使用adb命令,安装应用程序可 ...

  10. isEmpty()

    String a = new String(); 此时a是分配了内存空间,但值为空,是绝对的空,是一种有值(值存在为空而已) String b = ""; 此时b是分配了内存空间, ...