&#是什么编码 unicode两种编码方式与中文的

网站建设 2023-02-09 11:44www.1681989.com免费网站

unicode的表示方式有两种,一种为web页面中使用的,一种为我们一般采用的编码方式

 

第一种"成都 "Unicode编码方式 &+编号是网页里引用unicode字符的方法,编号为十进制的在unicode中的编号

第二种\u6210\u90fd 表示的也是成都,采用的也是unicode编码格式,是java编程中使用的编码格式

它以\u开头,后接四位16进制的数。

以下是java中之间相互转化的代码

/
  strg与unicode之间相互转换
 /
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class unicodeStrg {
	public static void ma(Strg[] args) {
		Strg str = "中国";
		System.out.prtln(unicodeStrg.StrgToWebUnicode(str));
		System.out.prtln(unicodeStrg.WebUnicodeToStrg("中国"));
		System.out.prtln(unicodeStrg.StrgToUnicode(str));
		System.out.prtln(unicodeStrg.UnicodeToStrg("\u4e2d\u56fd\\uqqqq"));
	}
	/
	  普通类型的unicode转strg
	 /
	public static Strg UnicodeToStrg(Strg put) {
		Pattern pattern = Pattern.pile("(\\\\u(\\p{XDigit}{4}))");
		Matcher matcher = pattern.matcher(put);
		char ch;
		while (matcher.fd()) {
			ch = (char) Integer.parseInt(matcher.group(2), 16);
			put = put.replace(matcher.group(1), ch + "");
		}
		return put;
	}
	/
	  strg转普通类型的unicode
	 /
	public static Strg StrgToUnicode(Strg put) {
		Strg str = "";
		for (char c : put.toCharArray()) {
			if ((t) c > 128)
				str += "\\u" + Integer.toHexStrg((t) c);
			else
				str += c;
		}
		return str;
 
	}
	/
	  strg转web类型的unicode
	 /
	public static Strg StrgToWebUnicode(Strg put) {
		Strg str = "";
		for (char c : put.toCharArray()) {
			str += "&#" + (t) c + ";";
		}
		return str;
	}
	/
	  web类型的unicode转strg
	 /
	public static Strg WebUnicodeToStrg(Strg put) {
		Strg str = "";
		Strg[] y1 = put.split(";");
		for (Strg c : y1) {
			if (c.length() > 2) {
				str += (char) Integer.parseInt(c.substrg(2));
			}
		}
		return str;
	}
}

js下将unicode转换为中文或字符串的代码

<script>
//带;号
var str="&#26368;&#26032;&#30332;&#104;&#116;&#116;&#112;&#115;&#58;&#47;&#47;&#119;&#119;&#119;&#46;&#106;&#98;&#53;&#49;&#46;&#110;&#101;&#116;&#47;&#97;&#114;&#116;&#105;&#99;&#108;&#101;&#47;&#49;&#46;&#104;&#116;&#109;";
//不带分号
var str2="&#104&#116&#116&#112&#115&#58&#47&#47&#119&#119&#119&#46&#106&#98&#53&#49&#46&#110&#101&#116&#47&#97&#114&#116&#105&#99&#108&#101&#47&#49&#46&#104&#116&#109";
function uncode(str) {
return str.replace(/&#(x)?([^&]{1,5});?/g, function (a, b, c) {
return Strg.fromCharCode(parseInt(c, b ? 16 : 10));
})
}

document.write(uncode(str));
document.write("<br>");
document.write(uncode(str2));
</script>

&#是什么编码

在网页中以&#开头的是HTML实体,一些字符在 HTML 中是预留的,拥有特殊的含义,比如小于号‘<’用于定义 HTML 标签的开始。如果我们希望浏览器正确地显示这些字符,我们必须在 HTML 源码中插入字符实体。

如何把汉字转换成HTML实体呢?

汉字的HTML实体由三部分组成,”&#+ASCII+;“ 即可。

例如,把“最新” 转换成“&#26368;&#26032;”

PHP函数把字符串或汉字转为HTML实体 htmlentities()

PHP函数把HTML实体转为字符串或汉字 html_entity_decode()

形如——

&#dddd;
&#xhhhh;
&#name;

——的一串字符是 HTML、XML 等 SGML 类语言的转义序列(escape sequence)。它们不是「编码」。

以 HTML 为例,这三种转义序列都称作 character reference
前两种是 numeric character reference(NCR),数字取值为目标字符的 Unicode code pot;以「&#」开头的后接十进制数字,以「&#x」开头的后接十六进制数字。
后一种是 character entity reference,后接预先定义的 entity 名称,而 entity 声明了自身指代的字符。
从 HTML 4 开始,NCR 以 Unicode 为准,与文档编码无关。

「中国」二字分别是 Unicode 字符 U+4E2D 和 U+56FD,十六进制表示的 code pot 数值「4E2D」和「56FD」就是十进制的「20013」和「22269」。所以——

&#x4e2d;&#x56fd;
&#20013;&#22269;

——这两种 NCR 写法都会在显示时转换为「中国」二字。

NCR 可以用于转义任何 Unicode 字符,而 character entity reference 很受限,参见 HTML 4 和 HTML5 中已有定义的字符列表

HtmlEncoder,中文转换成&#开头的编码(及HTML特殊字符解码)

package test..gjob.services;
import java.io.IOException;
import java.io.Writer;
public class HtmlEncoder {
     public static void ma(Strg args[]){
         System.out.prtln(HtmlEncoder.encode("你好"));
     }
     
     /
   
}

到此这篇关于&amp;#是什么编码 unicode两种编码方式与中文的转换的文章就介绍到这了,更多相关unicode 编码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

上一篇:电脑文件夹无法重命名提示被占用怎么办? 下一篇:电脑上安装的软件打不开怎么办?软件打不开没

Copyright © 2016-2025 www.1681989.com 推火网 版权所有 Power by