当前位置: 首页 > news >正文

张家港网站推广优化上海软件开发外包

张家港网站推广优化,上海软件开发外包,软件源码购买一般在哪个网站,网站名称是否已被注册Java字符编码与正则表达式深度解析 1. 字符编码发展 1.1 ASCII 码 在计算机最初发明时#xff0c;主要用于数值计算#xff0c;但随着计算需求的增加#xff0c;人们发现计算机可以用来处理文本信息。因此#xff0c;将字符映射为数字来表示。 字母 ‘A’ 映射为 65主要用于数值计算但随着计算需求的增加人们发现计算机可以用来处理文本信息。因此将字符映射为数字来表示。 字母 ‘A’ 映射为 65字母 ‘B’ 映射为 66。这种字符与数字的映射关系被称为ASCII字符集。 ASCII 范围 控制字符031 和 127如换行LF、回车CR。可显示字符32126如数字 09、字母 A-Z 和 a-z以及标点符号。 示例 字符 A 编码为十进制65二进制010000011.2 OEM 字符集的衍生 随着计算需求增加128个ASCII字符已无法满足多语言环境需求。 许多地区在 0x80-0xFF 范围中自定义字符映射形成不同的OEM 字符集。 示例 在甲的机器中 résumés 显示正常而在乙的机器上显示为 r?sum?s。 1.3 多字节字符集MBCS与中文字符集 亚洲国家的字符需求远超 256 个字符诞生了多字节字符集 GB2312涵盖所有简体中文字符。GBK在 GB2312 基础上扩展了繁体字符。 多字节字符集特点 若字节最高位为 0表示单字节字符与 ASCII 一致。若字节最高位为 1则需两个字节表示一个字符。 1.4 ANSI 标准与国家标准 ANSI 和 ISO 制定了字符集标准 ANSI 编码英文系统使用 ISO-8859-1中文系统使用 GBK。 1.5 Unicode 的出现 为解决跨国文档中的多语言问题Unicode 字符集诞生。 Unicode 为每个字符分配唯一编码值共 17 个平面每个平面最多包含 65,536 个字符。 Unicode 编码方案 UTF-8可变长度编码使用 14 个字节表示字符。UTF-16定长编码每次 16 位。 示例将 中 (U4E2D) 编码为 UTF-8 Unicode01001110 00101101UTF-8 规则1110xxxx 10xxxxxx 10xxxxxx结果11100100 10111000 10101101十六进制 E4B8AD 编码转换示例 public static void main(String[] args) throws UnsupportedEncodingException {String str 测试;byte[] utf8Bytes str.getBytes(UTF-8);byte[] gbkBytes str.getBytes(GBK);System.out.println(UTF-8 编码长度: utf8Bytes.length); // 输出 6System.out.println(GBK 编码长度: gbkBytes.length); // 输出 4 }2. 正则表达式 2.1 基本概念 正则表达式是一种字符串匹配模式常用于字符串的检索和替换操作。 2.2 常用匹配模式 模式描述示例.匹配任意单个字符a.b 匹配 acb, axb\d匹配数字 [0-9]\d{3} 匹配 123\w匹配字母、数字或下划线\w 匹配 abc123*匹配 0 次或多次a* 匹配 , a, aaa 2.3 捕获组与非捕获组 2.3.1 捕获组 捕获组用于提取匹配的子串。 普通捕获组 Pattern pattern Pattern.compile((\\d{4})-(\\d{2})-(\\d{2})); Matcher matcher pattern.matcher(2024-03-28); if (matcher.find()) {System.out.println(年份: matcher.group(1));System.out.println(月份: matcher.group(2));System.out.println(日期: matcher.group(3)); }命名捕获组 Pattern pattern Pattern.compile((?year\\d{4})-(?month\\d{2})-(?day\\d{2})); Matcher matcher pattern.matcher(2024-01-01); if (matcher.find()) {System.out.println(年份: matcher.group(year));System.out.println(月份: matcher.group(month));System.out.println(日期: matcher.group(day)); }2.3.2 非捕获组 非捕获组匹配但不保存匹配结果。 形式为 (?:X)常用于提高匹配效率。 Pattern p Pattern.compile((\\d)(?:\\.\\d*)?([$])); String[] arr {8895, 8899.66, 6688$, 8965}; for (String str : arr) {Matcher m p.matcher(str);if (m.find()) {System.out.println(货币金额: m.group(1));System.out.println(货币种类: m.group(2));} }2.4 零宽断言 零宽断言用于匹配位置而非具体字符 (?X)正向预查(?X)反向预查(?!X)负向预查(?!X)负向反查 示例 String str abc123def; Pattern p Pattern.compile(\\d{3}(?def)); Matcher m p.matcher(str); if (m.find()) {System.out.println(匹配内容: m.group(0)); // 输出 123 }2.5 常用正则表达式示例 验证用户名^[a-zA-Z]\w{5,15}$验证手机号码^(13[0-9]|15[0-9]|18[0-9])\d{8}$验证邮箱^[\w-][\w-](\.[\w-])$验证 IP 地址(\d{1,3}\.){3}\d{1,3} 总结 本文系统介绍了字符编码的发展历程从 ASCII 到 Unicode 的演变过程并解析了常见的编码方案如 UTF-8 和 UTF-16。通过 Java 示例展示了不同字符集的编码长度差异。在正则表达式部分详细说明了捕获组、非捕获组及零宽断言的用法并提供了常见验证场景的正则表达式示例。通过合理使用正则表达式可以实现高效、灵活的字符串匹配和处理。
http://www.hkea.cn/news/14429923/

相关文章:

  • 网站上做旅游卖家要学什么软件快速网站建设价格
  • 重庆网站建设论坛品牌网站建设定制
  • 万网虚拟主机建网站企业建站程序推荐
  • 淘宝网站推广策划方案怎么做福利视频网站
  • 网站分站原理个人形象设计网站
  • 网站后期维护费用北京网页制作
  • 一个网站要怎么做免费的企业名录搜索
  • 密云城市建设官方网站商务网站运营与管理
  • h5微信网站建设上海中国国际进口博览会
  • 广告关键词有哪些关键词优化公司
  • 建网站pc版实搜网站建设
  • 网站支付怎么做的惠州网站建设公司曾
  • 网站模板后台北京cms建站模板
  • 唐山设计网站公司wordpress创建页面错误
  • 淮南集团网站建设wordpress扫码提交数据库
  • 微网站价格表2021年天津教师招聘信息
  • 给网站首页图片做外网超链接_为什么会弹出一个服务器登录窗口山西省建设厅招标网站首页
  • 电子商务网站建设试题网站建设整改情况
  • 企业网网站山东建设执业资格注册中心网站
  • 戴尔官方网站建设启示如何给网站做2维码
  • 宁波建设系统网站p2p网贷网站建设方案
  • 天一建设网站高端网站建设免费分析
  • 怎样做网站-百度西安公关公司
  • 大佬做的魔法少女网站地产行业网站建设图片
  • 在哪个网站做一照一码长沙公司网络推广
  • 用什么做网站原型图wordpress怎么调用多语言包
  • 怎样从用户体现提高网站的搜索引擎信任度永康网站建设
  • 可以做免费推广的网站吗做ppt会去什么网站找图
  • 山西建站便宜别墅效果图制作
  • iis建设个人网站ps网页设计教程及素材