js 16进制Unicode编码与中文相互转换

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <script language=javascript>

function utf8to16(str) {
    var out, i, len, c;
    var char2, char3;
    out = "";
    len = str.length;
    i = 0;
    while(i < len) {
		 c = str.charCodeAt(i++);
		 switch(c >> 4)
		 {
		   case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
			 out += str.charAt(i-1);
			 break;
		   case 12: case 13:
			 char2 = str.charCodeAt(i++);
			 out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
			 break;
		   case 14:
			 char2 = str.charCodeAt(i++);
			 char3 = str.charCodeAt(i++);
			 out += String.fromCharCode(((c & 0x0F) << 12) |
				((char2 & 0x3F) << 6) |
				((char3 & 0x3F) << 0));
			 break;
		 }
    }

    return out;
}

document.writeln(utf8to16(unescape("%E4%BD%A0%E5%A5%BD")));
document.writeln("%E4%BD%A0%E5%A5%BD");
document.writeln(escape("你好"));
document.writeln(encodeURI("你好"));
document.writeln(encodeURIComponent("你好"));

</script>
 </HEAD>

 <BODY>

 </BODY>
</HTML>
时间: 2024-10-18 16:20:35

js 16进制Unicode编码与中文相互转换的相关文章

PHP把16进制的编码转为中文程序代码

然后在从中取出所需要导出的message信息,不多说了,代码如下,以下代码属于线下的,线上的就不透漏了,算是一篇非常的简单的php教程吧:  代码如下 复制代码 <?php /*将16进制编码转换为汉字*/ function hexDecode($s) {     return preg_replace('/(w{2})/e',"chr(hexdec('\1'))",$s); } /*汉字转换成16进制后的编码*/ $str="7B22636F6E74726F6C223

关于byte 进制 float String 编码 16进制字符串转16进制byte的问题

首先 只有String才与编码有关: byte与其他类型转换时,要注意大端点还是小端点, 编码: Ascii Unicode gbk utf-8等等  byte 占 8位 可由两个16进制数(0xff)组成,一个16进制占4位,也可由8位二进制数组成等等,与编码没关系,但可用2进制表示,也可由其他进制表示. "0xff"这样的16进制字符串转换成16进制byte String[] s="0X0C 0X03 0X00 0X04 0X00 0X02 0X84 0XD7"

16进制编码与字符串的互相转化

Q:16进制编码与字符串的互相转化 A: string ddd = "jinjazz路过"; string strHex = BitConverter.ToString(System.Text.Encoding.Default.GetBytes(ddd)); Console.WriteLine(strHex); string[] strChars=strHex.Split('-'); byte[] b = new byte[strChars.Length]; for (int i=0;

java实现汉字转unicode与汉字转16进制实例_java

本文实例讲述了java实现汉字转unicode与汉字转16进制的实现方法.分享给大家供大家参考.具体实现方法如下: 一.汉字转unicode 复制代码 代码如下: public static String toUnicode(String s) {         String as[] = new String[s.length()];         String s1 = "";         for (int i = 0; i < s.length(); i++)   

JavaScript中的16进制字符(改进)_javascript技巧

原始的代码: 复制代码 代码如下: //将文字转换为16进制 function textToSix(str) { return escape(str).replace(/%/g, function () { return "\\"; }).toLowerCase(); } 改进后的: 复制代码 代码如下: //将文字转换为16进制 function textToHex(str) { //escape对0-255以外的unicode值进行编码时输出%u****格式,例如:%u6267%u

vb.net 字符串转16进制

问题描述 字符串1:sd13A你好字符串2:2014年08月23日星期六8:59:23把字符串转16进制---------求代码!再把16进制转回中文---求代码!额,就是求互转代码!新手求助! 解决方案 解决方案二:"字符串转16进制"这个说法缺乏必要的逻辑性.只有一个整数才能表现为2进制.8进制.10进制.16进制之类的概念.字符串是一个高级的概念,那么你的逻辑就应该稍微高级一点.比如说"unicode编码的byte[]数组"."byte[]数组的ba

java发送heartbeat心跳包(byte转16进制)_java

复制代码 代码如下: package com.jxy.web; import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.Socket;import java.net.UnknownHostException; import com.jxy.tools.MyByte; pu

javascript-js 如何将16进制数据转浮点数

问题描述 js 如何将16进制数据转浮点数 js 如何将16进制数据转浮点数 我想 把str ='AB23FF12E1' 这个转成浮点数 解决方案 http://blog.csdn.net/yin138/article/details/13504441 解决方案二: 补充一句,123.456(float) = '79 E9 F6 42'; 如何把 '79 E9 F6 42'; 还原回 123.456呢? 解决方案三: 补充一句,123.456(float) = '79 E9 F6 42'; 如何

PHP的16进制互转

<?php   /**   *   * ASCII 转 十六进制 以及 十六进制 转 ASCII   * 非盈利组织或个人请放心转载,商业用途请征得作者同意   *   */  //ASCII 转 十六进制   function asc2hex($str) {   return '\x'.substr(chunk_split(bin2hex($str), 2, '\x'),0,-2);   }   //十六进制 转 ASCII   function hex2asc($str) {   $str