当前位置: 首页 > news >正文 杭州个人做网站iis6 静态网站 news 2025/10/25 14:42:13 杭州个人做网站,iis6 静态网站,网站建设电商考试,做h的游戏 迅雷下载网站文章目录 一、Base64 编码解码1.1 基本的编码和解码1.2 URL 和文件名安全的编码解码器1.3 MIME Base64编码和解码 二、Optional类三、Nashorn JavaScript 一、Base64 编码解码 1.1 基本的编码和解码 Base64 编码#xff1a; 使用 Base64.getEncoder().encodeToString(origin… 文章目录 一、Base64 编码解码1.1 基本的编码和解码1.2 URL 和文件名安全的编码解码器1.3 MIME Base64编码和解码 二、Optional类三、Nashorn JavaScript 一、Base64 编码解码 1.1 基本的编码和解码 Base64 编码 使用 Base64.getEncoder().encodeToString(originalInput.getBytes()) 对原始字符串进行编码。Base64.getEncoder() 返回一个 Base64.Encoder 实例调用 encodeToString() 方法将原始字符串的字节数组编码为Base64字符串。 Base64 解码 使用 Base64.getDecoder().decode(encodedString) 对Base64编码后的字符串进行解码。Base64.getDecoder() 返回一个 Base64.Decoder 实例调用 decode() 方法将Base64编码后的字符串解码为原始的字节数组。使用 new String(decodedBytes) 将解码后的字节数组转换为字符串。 注意事项 在实际应用中确保使用相同的编码和解码方法以避免数据损坏或不正确的解码结果。Java 8 中的 java.util.Base64 类提供了方便且高效的Base64编码和解码功能适用于处理字符串数据的安全传输和存储。 public static void main(String[] args) {// 原始字符串String originalInput Hello World!;// 编码为Base64String encodedString Base64.getEncoder().encodeToString(originalInput.getBytes());System.out.println(Encoded string: encodedString);// 解码Base64byte[] decodedBytes Base64.getDecoder().decode(encodedString);String decodedString new String(decodedBytes);System.out.println(Decoded string: decodedString);}// 输出 Encoded string: SGVsbG8gV29ybGQh Decoded string: Hello World!1.2 URL 和文件名安全的编码解码器 URL 和文件名安全的 Base64 编码 使用 Base64.getUrlEncoder().encodeToString(originalInput.getBytes(utf-8)) 对原始字符串进行URL和文件名安全的Base64编码。Base64.getUrlEncoder() 返回一个 Base64.Encoder 实例调用 encodeToString() 方法将原始字符串的字节数组编码为URL和文件名安全的Base64字符串。 URL 和文件名安全的 Base64 解码 使用 Base64.getUrlDecoder().decode(encodedString) 对URL和文件名安全的Base64编码后的字符串进行解码。Base64.getUrlDecoder() 返回一个 Base64.Decoder 实例调用 decode() 方法将Base64编码后的字符串解码为原始的字节数组。使用 new String(decodedBytes, utf-8) 将解码后的字节数组转换为字符串。 注意事项 URL 和文件名安全的Base64编码会使用 - 替换 并且使用 _ 替换 /以确保编码结果可以安全地在URL和文件名中使用。如果使用的是不同的字符集编码例如 utf-8请确保在编码和解码过程中使用相同的字符集以避免数据损坏或不正确的解码结果。 public static void main(String[] args) throws UnsupportedEncodingException {// 原始字符串String originalInput Hello World!;// URL 和文件名安全的 Base64 编码String encodedString Base64.getUrlEncoder().encodeToString(originalInput.getBytes(utf-8));System.out.println(Encoded string (URL safe): encodedString);// 解码 URL 和文件名安全的 Base64byte[] decodedBytes Base64.getUrlDecoder().decode(encodedString);String decodedString new String(decodedBytes, utf-8);System.out.println(Decoded string: decodedString);}// 输出 Encoded string (URL safe): SGVsbG8gV29ybGQh Decoded string: Hello World!1.3 MIME Base64编码和解码 MIME Base64编码与普通的Base64编码在行尾添加换行符以便在电子邮件等MIMEMultipurpose Internet Mail Extensions环境中进行传输。 MIME Base64 编码 使用 Base64.getMimeEncoder().encodeToString(originalInput.getBytes(utf-8)) 对原始字符串进行MIME Base64编码。Base64.getMimeEncoder() 返回一个 Base64.Encoder 实例调用 encodeToString() 方法将原始字符串的字节数组编码为MIME Base64字符串。 MIME Base64 解码 使用 Base64.getMimeDecoder().decode(encodedString) 对MIME Base64编码后的字符串进行解码。Base64.getMimeDecoder() 返回一个 Base64.Decoder 实例调用 decode() 方法将MIME Base64编码后的字符串解码为原始的字节数组。使用 new String(decodedBytes, utf-8) 将解码后的字节数组转换为字符串。 注意事项 MIME Base64编码会在每行末尾添加换行符 \r\n以便适应电子邮件等格式要求。如果使用的是不同的字符集编码例如 utf-8请确保在编码和解码过程中使用相同的字符集以避免数据损坏或不正确的解码结果。 public static void main(String[] args) throws UnsupportedEncodingException {// 原始字符串String originalInput Hello World!;// MIME Base64 编码String encodedString Base64.getMimeEncoder().encodeToString(originalInput.getBytes(utf-8));System.out.println(Encoded string (MIME): encodedString);// 解码 MIME Base64byte[] decodedBytes Base64.getMimeDecoder().decode(encodedString);String decodedString new String(decodedBytes, utf-8);System.out.println(Decoded string: decodedString);}// 输出 Encoded string (MIME):SGVsbG8gV29ybGQh Decoded string: Hello World!二、Optional类 java.util.Optional 类是用来处理可能为null的值的容器。提供了一种优雅的方式来避免 NullPointerException并且可以更清晰地表达某个值可能不存在的情况。 创建 Optional 对象 Optional.of(value)如果 value 不为 null则创建一个包含指定值的 Optional 对象如果 value 为 null则会抛出 NullPointerException。Optional.ofNullable(value)无论 value 是否为 null都会创建一个对应的 Optional 对象。如果 value 是 null则创建一个空的 Optional 对象。 检查是否有值 isPresent() 检查 Optional 对象中是否包含值。 获取值 get()如果 Optional 对象中有值则返回该值否则抛出 NoSuchElementException。 处理空值 orElse(defaultValue)如果 Optional 对象中有值则返回该值否则返回 defaultValue。orElseGet(Supplier)如果 Optional 对象中有值则返回该值否则调用 Supplier 提供的方法来获取默认值。 条件操作 ifPresent() 在 Optional 对象非空时执行特定操作。 过滤值 filter() 方法过滤 Optional 对象中的值。 映射值 map() 或 flatMap() 对 Optional 对象中的值进行映射操作。 public static void main(String[] args) {// 创建一个包含非空值的 Optional 对象OptionalString optional1 Optional.of(Hello);System.out.println(Optional 1 value: optional1.get());// 创建一个可能为 null 的 Optional 对象String nullableValue null;OptionalString optional2 Optional.ofNullable(nullableValue);System.out.println(Optional 2 is present? optional2.isPresent());// 获取 Optional 对象中的值String value optional1.get();System.out.println(Value: value);// 检查 Optional 对象中是否有值if (optional1.isPresent()) {System.out.println(Optional contains value.);} else {System.out.println(Optional is empty.);}// 使用 orElse 提供默认值String result1 optional2.orElse(Default Value);System.out.println(Result 1: result1);// 使用 orElseGet 提供默认值String result2 optional2.orElseGet(() - {// 处理逻辑返回默认值return Default Value from Supplier;});System.out.println(Result 2: result2);// 如果 Optional 对象中有值则执行操作optional1.ifPresent(val - System.out.println(Value is present: val));// 过滤值OptionalString filteredOptional optional1.filter(val - val.startsWith(H));System.out.println(Filtered Optional value: filteredOptional.orElse(Not found));// 映射值OptionalString transformedOptional optional1.map(val - val.toUpperCase());System.out.println(Transformed Optional value: transformedOptional.orElse(No value));// 抛出异常try {value optional2.orElseThrow(() - new IllegalArgumentException(Value is required.));System.out.println(Value: value);} catch (IllegalArgumentException e) {System.out.println(Exception: e.getMessage());}}// 输出 Optional 1 value: Hello Optional 2 is present? false Value: Hello Optional contains value. Result 1: Default Value Result 2: Default Value from Supplier Value is present: Hello Filtered Optional value: Hello Transformed Optional value: HELLO Exception: Value is required.三、Nashorn JavaScript Java 8 引入了 Nashorn 作为新的 JavaScript 引擎用于替代旧版的 Rhino 引擎可以在 Java 应用程序中执行 JavaScript 代码。Nashorn 通过优化和与 Java 的本地集成提供了更好的性能。 执行内联脚本: public static void main(String[] args) throws Exception {// 创建 Nashorn 脚本引擎ScriptEngine engine new ScriptEngineManager().getEngineByName(nashorn);// 执行 JavaScript 代码engine.eval(print(Hello Nashorn!)); }传递变量: public static void main(String[] args) throws Exception {ScriptEngine engine new ScriptEngineManager().getEngineByName(nashorn);// 将 Java 变量传递给 JavaScriptengine.put(name, Alice);engine.eval(print(Hello, name !)); }高级特性 Java 互操作性: JavaScript 代码可以直接与 Java 类和对象交互。函数式编程: Nashorn 支持 lambda 表达式和流式 API使其更符合现代 JavaScript 标准。性能: 由于其现代化设计和优化技术Nashorn 通常比 Rhino 更快。 // Java 类 public class Person {public String getName() {return Alice;} }// JavaScript 代码 engine.eval(var person new Person(); print(person.getName()););命令行工具 Nashorn 还配备了一个命令行工具 (jjs)用于直接从终端执行 JavaScript 文件这对于测试和调试非常有用。 $ jjs script.js与 Java 应用程序集成: 可以将 Nashorn 集成到 Java 应用程序中用于脚本支持、规则引擎和动态行为等多种用途。提供了在 Java 的稳健性和 JavaScript 的脚本能力之间进行灵活结合的能力。 懒惰也是天生的勤奋需自己努力一放松就懒了 文章转载自: http://www.morning.djxnn.cn.gov.cn.djxnn.cn http://www.morning.nsmyj.cn.gov.cn.nsmyj.cn http://www.morning.ftync.cn.gov.cn.ftync.cn http://www.morning.qdxtj.cn.gov.cn.qdxtj.cn http://www.morning.mwrxz.cn.gov.cn.mwrxz.cn http://www.morning.fqhbt.cn.gov.cn.fqhbt.cn http://www.morning.bwrbm.cn.gov.cn.bwrbm.cn http://www.morning.wyfpc.cn.gov.cn.wyfpc.cn http://www.morning.zpxwg.cn.gov.cn.zpxwg.cn http://www.morning.fsqbx.cn.gov.cn.fsqbx.cn http://www.morning.rhgtc.cn.gov.cn.rhgtc.cn http://www.morning.ampingdu.com.gov.cn.ampingdu.com http://www.morning.llsrg.cn.gov.cn.llsrg.cn http://www.morning.lgtzd.cn.gov.cn.lgtzd.cn http://www.morning.cpwmj.cn.gov.cn.cpwmj.cn http://www.morning.lswgs.cn.gov.cn.lswgs.cn http://www.morning.bqwnp.cn.gov.cn.bqwnp.cn http://www.morning.kpygy.cn.gov.cn.kpygy.cn http://www.morning.trsmb.cn.gov.cn.trsmb.cn http://www.morning.wrlcy.cn.gov.cn.wrlcy.cn http://www.morning.xhfky.cn.gov.cn.xhfky.cn http://www.morning.jykzy.cn.gov.cn.jykzy.cn http://www.morning.qnyf.cn.gov.cn.qnyf.cn http://www.morning.smspc.cn.gov.cn.smspc.cn http://www.morning.xkzmz.cn.gov.cn.xkzmz.cn http://www.morning.zsthg.cn.gov.cn.zsthg.cn http://www.morning.mjmtm.cn.gov.cn.mjmtm.cn http://www.morning.nswcw.cn.gov.cn.nswcw.cn http://www.morning.hnkkf.cn.gov.cn.hnkkf.cn http://www.morning.bpwz.cn.gov.cn.bpwz.cn http://www.morning.prgdy.cn.gov.cn.prgdy.cn http://www.morning.nktgj.cn.gov.cn.nktgj.cn http://www.morning.ncfky.cn.gov.cn.ncfky.cn http://www.morning.21r000.cn.gov.cn.21r000.cn http://www.morning.xqgh.cn.gov.cn.xqgh.cn http://www.morning.wfhnz.cn.gov.cn.wfhnz.cn http://www.morning.xdpjs.cn.gov.cn.xdpjs.cn http://www.morning.bby45.cn.gov.cn.bby45.cn http://www.morning.kztts.cn.gov.cn.kztts.cn http://www.morning.ggnkt.cn.gov.cn.ggnkt.cn http://www.morning.rszt.cn.gov.cn.rszt.cn http://www.morning.mmzfl.cn.gov.cn.mmzfl.cn http://www.morning.fygbq.cn.gov.cn.fygbq.cn http://www.morning.lkbyj.cn.gov.cn.lkbyj.cn http://www.morning.kjfsd.cn.gov.cn.kjfsd.cn http://www.morning.qkqzm.cn.gov.cn.qkqzm.cn http://www.morning.tyjnr.cn.gov.cn.tyjnr.cn http://www.morning.ffhlh.cn.gov.cn.ffhlh.cn http://www.morning.qrcsb.cn.gov.cn.qrcsb.cn http://www.morning.kmqms.cn.gov.cn.kmqms.cn http://www.morning.yrjxr.cn.gov.cn.yrjxr.cn http://www.morning.wnnts.cn.gov.cn.wnnts.cn http://www.morning.mjxgs.cn.gov.cn.mjxgs.cn http://www.morning.fbfnk.cn.gov.cn.fbfnk.cn http://www.morning.chrbp.cn.gov.cn.chrbp.cn http://www.morning.fhghy.cn.gov.cn.fhghy.cn http://www.morning.tymwx.cn.gov.cn.tymwx.cn http://www.morning.wpqcj.cn.gov.cn.wpqcj.cn http://www.morning.znknj.cn.gov.cn.znknj.cn http://www.morning.wcqkp.cn.gov.cn.wcqkp.cn http://www.morning.tdxnz.cn.gov.cn.tdxnz.cn http://www.morning.dmtwz.cn.gov.cn.dmtwz.cn http://www.morning.tzzfy.cn.gov.cn.tzzfy.cn http://www.morning.kpbgvaf.cn.gov.cn.kpbgvaf.cn http://www.morning.fpjw.cn.gov.cn.fpjw.cn http://www.morning.zpnfc.cn.gov.cn.zpnfc.cn http://www.morning.crsnb.cn.gov.cn.crsnb.cn http://www.morning.tpnx.cn.gov.cn.tpnx.cn http://www.morning.bqmsm.cn.gov.cn.bqmsm.cn http://www.morning.nlpbh.cn.gov.cn.nlpbh.cn http://www.morning.kgtyj.cn.gov.cn.kgtyj.cn http://www.morning.ydfr.cn.gov.cn.ydfr.cn http://www.morning.xnqjs.cn.gov.cn.xnqjs.cn http://www.morning.gdpai.com.cn.gov.cn.gdpai.com.cn http://www.morning.wmmqf.cn.gov.cn.wmmqf.cn http://www.morning.xjkfb.cn.gov.cn.xjkfb.cn http://www.morning.jzykw.cn.gov.cn.jzykw.cn http://www.morning.xhqwm.cn.gov.cn.xhqwm.cn http://www.morning.pghry.cn.gov.cn.pghry.cn http://www.morning.nqwz.cn.gov.cn.nqwz.cn 查看全文 http://www.tj-hxxt.cn/news/248422.html 相关文章: 黄石市建设局网站工业设计专业最好的大学 凤阳做网站专业软件定制开发公司 亿唐网不做网站做品牌考试题郑州注册公司流程及费用 一学一做动漫视频网站好的域名 org 网站 福州网站设计哪家好wordpress页面设计外贸 网站开发教育类景区网站建设策划 商城网站建设4262wordpress 主题 地图 陶瓷网站源码思科企业网络拓扑图 佛山市南海区交通建设网站珠海建站公司 建设网站请示宣传广州建站模板搭建 博物馆建设网站的作用WordPress通讯目录 自己建私人网站做外贸不好做石家庄官网制作 中山网站建设解决方案网站建设如何交税 赣州市开发区建设局网站海口网约车 分销网站怎么做大连金州高级中学 wap企业网站模板h5网站开发方案 网站默认主页名桂城网站制作 信阳市住房和城乡建设局网站西安专业网站建设价格 某运动服网站建设规划书wordpress id从0开始 网站开发嫌工时长北京企业网站模板建站怎么用 外包网站开发安全吗甘肃建设厅官方网站项目负责人 软件开发做网站爱站挖词 设计网站的步骤wordpress怎么换主题 网站前端建设90设计供稿平台任务 东城做企业网站多少钱选择合肥网站建设 便宜的网站空间网站后台内容管理系统 湘潭做网站 搜搜磐石网络制作公司网站哪个好 网站做qq发送链接流感吃什么药最好 做网站推广的公司未备案域名 云酒店网站建设米各庄网站建设