是什么编码 unicode两种编码方式与中文的转换
unicode的表示方式有两种,一种为web页面中使用的,一种为我们一般采用的编码方式
第一种:"成都 "unicode编码方式 &+编号是网页里引用unicode字符的方法,编号为十进制的在unicode中的编号
第二种:\u6210\u90fd 表示的也是成都,采用的也是unicode编码格式,是java编程中使用的编码格式
它以\u开头,后接四位16进制的数。
以下是java中之间相互转化的代码
/* * string与unicode之间相互转换 */ import java.util.regex.matcher; import java.util.regex.pattern; public class unicodestring { public static void main(string[] args) { string str = "中国"; system.out.println(unicodestring.stringtowebunicode(str)); system.out.println(unicodestring.webunicodetostring("中国")); system.out.println(unicodestring.stringtounicode(str)); system.out.println(unicodestring.unicodetostring("\u4e2d\u56fd\\uqqqq")); } /* * 普通类型的unicode转string */ public static string unicodetostring(string input) { pattern pattern = pattern.compile("(\\\\u(\\p{xdigit}{4}))"); matcher matcher = pattern.matcher(input); char ch; while (matcher.find()) { ch = (char) integer.parseint(matcher.group(2), 16); input = input.replace(matcher.group(1), ch + ""); } return input; } /* * string转普通类型的unicode */ public static string stringtounicode(string input) { string str = ""; for (char c : input.tochararray()) { if ((int) c > 128) str += "\\u" + integer.tohexstring((int) c); else str += c; } return str; } /* * string转web类型的unicode */ public static string stringtowebunicode(string input) { string str = ""; for (char c : input.tochararray()) { str += "&#" + (int) c + ";"; } return str; } /* * web类型的unicode转string */ public static string webunicodetostring(string input) { string str = ""; string[] y1 = input.split(";"); for (string c : y1) { if (c.length() > 2) { str += (char) integer.parseint(c.substring(2)); } } return str; } }
js下将unicode转换为中文或字符串的代码
<script> //带;号 var str="最新發https://www.jb51.net/article/1.htm"; //不带分号 var str2="https://www.jb51.net/article/1.htm"; function uncode(str) { return str.replace(/&#(x)?([^&]{1,5});?/g, function (a, b, c) { return string.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+;“ 即可。
例如,把“最新” 转换成“最新”
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 point;以「&#」开头的后接十进制数字,以「&#x」开头的后接十六进制数字。
后一种是 character entity reference,后接预先定义的 entity 名称,而 entity 声明了自身指代的字符。
从 html 4 开始,ncr 以 unicode 为准,与文档编码无关。
「中国」二字分别是 unicode 字符 u+4e2d 和 u+56fd,十六进制表示的 code point 数值「4e2d」和「56fd」就是十进制的「20013」和「22269」。所以——
中国
中国
——这两种 ncr 写法都会在显示时转换为「中国」二字。
ncr 可以用于转义任何 unicode 字符,而 character entity reference 很受限,参见 html 4 和 html5 中已有定义的字符列表:
htmlencoder,中文转换成&#开头的编码(及html特殊字符解码)
package test.com.gjob.services; import java.io.ioexception; import java.io.writer; public class htmlencoder { public static void main(string args[]){ system.out.println(htmlencoder.encode("你好")); } /*** }
到此这篇关于&#是什么编码 unicode两种编码方式与中文的转换的文章就介绍到这了,更多相关unicode 编码内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
推荐阅读
-
如何让Jackson JSON生成的数据包含的中文以unicode方式编码
-
将文本文档的中文字符转换成对应的unicode编码
-
js unicode 编码解析关于数据转换为中文的两种方法_javascript技巧
-
js unicode 编码解析关于数据转换为中文的两种方法_javascript技巧
-
javascript unicode与GBK2312(中文)编码转换方法_基础知识
-
javascript unicode与GBK2312(中文)编码转换方法_基础知识
-
16进制Unicode编码与中文相互转换
-
conversation是什么意思 PHP下编码转换函数mb_convert_encoding与iconv的使用说明
-
UNICODE编码转换为中文汉字的两种实现方式(php和js)
-
UNICODE编码转换为中文汉字的两种实现方式(php和js)