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

建网站做点什么好百度自动点击器

建网站做点什么好,百度自动点击器,公司建设网站计入什么分录,wordpress 总数 函数文章目录 一、Base64 编码解码1.1 基本的编码和解码1.2 URL 和文件名安全的编码解码器1.3 MIME Base64编码和解码 二、Optional类三、Nashorn JavaScript 一、Base64 编码解码 1.1 基本的编码和解码 Base64 编码: 使用 Base64.getEncoder().encodeToString(origin…

在这里插入图片描述

文章目录

    • 一、Base64 编码解码
      • 1.1 基本的编码和解码
      • 1.2 URL 和文件名安全的编码解码器
      • 1.3 MIME Base64编码和解码
    • 二、Optional类
    • 三、Nashorn JavaScript

一、Base64 编码解码

1.1 基本的编码和解码

  1. Base64 编码
    • 使用 Base64.getEncoder().encodeToString(originalInput.getBytes()) 对原始字符串进行编码。
    • Base64.getEncoder() 返回一个 Base64.Encoder 实例,调用 encodeToString() 方法将原始字符串的字节数组编码为Base64字符串。
  2. Base64 解码
    • 使用 Base64.getDecoder().decode(encodedString) 对Base64编码后的字符串进行解码。
    • Base64.getDecoder() 返回一个 Base64.Decoder 实例,调用 decode() 方法将Base64编码后的字符串解码为原始的字节数组。
    • 使用 new String(decodedBytes) 将解码后的字节数组转换为字符串。
  3. 注意事项:
    • 在实际应用中,确保使用相同的编码和解码方法,以避免数据损坏或不正确的解码结果。
    • 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 和文件名安全的编码解码器

  1. URL 和文件名安全的 Base64 编码
    • 使用 Base64.getUrlEncoder().encodeToString(originalInput.getBytes("utf-8")) 对原始字符串进行URL和文件名安全的Base64编码。
    • Base64.getUrlEncoder() 返回一个 Base64.Encoder 实例,调用 encodeToString() 方法将原始字符串的字节数组编码为URL和文件名安全的Base64字符串。
  2. URL 和文件名安全的 Base64 解码
    • 使用 Base64.getUrlDecoder().decode(encodedString) 对URL和文件名安全的Base64编码后的字符串进行解码。
    • Base64.getUrlDecoder() 返回一个 Base64.Decoder 实例,调用 decode() 方法将Base64编码后的字符串解码为原始的字节数组。
    • 使用 new String(decodedBytes, "utf-8") 将解码后的字节数组转换为字符串。
  3. 注意事项:
    • 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编码在行尾添加换行符,以便在电子邮件等MIME(Multipurpose Internet Mail Extensions)环境中进行传输。

  1. MIME Base64 编码
    • 使用 Base64.getMimeEncoder().encodeToString(originalInput.getBytes("utf-8")) 对原始字符串进行MIME Base64编码。
    • Base64.getMimeEncoder() 返回一个 Base64.Encoder 实例,调用 encodeToString() 方法将原始字符串的字节数组编码为MIME Base64字符串。
  2. MIME Base64 解码
    • 使用 Base64.getMimeDecoder().decode(encodedString) 对MIME Base64编码后的字符串进行解码。
    • Base64.getMimeDecoder() 返回一个 Base64.Decoder 实例,调用 decode() 方法将MIME Base64编码后的字符串解码为原始的字节数组。
    • 使用 new String(decodedBytes, "utf-8") 将解码后的字节数组转换为字符串。
  3. 注意事项:
    • 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,并且可以更清晰地表达某个值可能不存在的情况。

  1. 创建 Optional 对象

    • Optional.of(value):如果 value 不为 null,则创建一个包含指定值的 Optional 对象;如果 value 为 null,则会抛出 NullPointerException
    • Optional.ofNullable(value):无论 value 是否为 null,都会创建一个对应的 Optional 对象。如果 value 是 null,则创建一个空的 Optional 对象。
  2. 检查是否有值

    • isPresent() :检查 Optional 对象中是否包含值。
  3. 获取值

    • get():如果 Optional 对象中有值,则返回该值;否则抛出 NoSuchElementException
  4. 处理空值

    • orElse(defaultValue):如果 Optional 对象中有值,则返回该值;否则返回 defaultValue
    • orElseGet(Supplier):如果 Optional 对象中有值,则返回该值;否则调用 Supplier 提供的方法来获取默认值。
  5. 条件操作

    • ifPresent() :在 Optional 对象非空时执行特定操作。
  6. 过滤值

    • filter() 方法过滤 Optional 对象中的值。
  7. 映射值

    • map()flatMap() :对 Optional 对象中的值进行映射操作。
public static void main(String[] args) {// 创建一个包含非空值的 Optional 对象Optional<String> optional1 = Optional.of("Hello");System.out.println("Optional 1 value: " + optional1.get());// 创建一个可能为 null 的 Optional 对象String nullableValue = null;Optional<String> 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));// 过滤值Optional<String> filteredOptional = optional1.filter(val -> val.startsWith("H"));System.out.println("Filtered Optional value: " + filteredOptional.orElse("Not found"));// 映射值Optional<String> 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 的本地集成提供了更好的性能。

  1. 执行内联脚本:
public static void main(String[] args) throws Exception {// 创建 Nashorn 脚本引擎ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");// 执行 JavaScript 代码engine.eval("print('Hello Nashorn!')");
}
  1. 传递变量:
public static void main(String[] args) throws Exception {ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");// 将 Java 变量传递给 JavaScriptengine.put("name", "Alice");engine.eval("print('Hello, ' + name + '!')");
}
  1. 高级特性
    • 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());");
  1. 命令行工具
    • Nashorn 还配备了一个命令行工具 (jjs),用于直接从终端执行 JavaScript 文件,这对于测试和调试非常有用。
$ jjs script.js
  1. 与 Java 应用程序集成:
    • 可以将 Nashorn 集成到 Java 应用程序中,用于脚本支持、规则引擎和动态行为等多种用途。
    • 提供了在 Java 的稳健性和 JavaScript 的脚本能力之间进行灵活结合的能力。

懒惰也是天生的,勤奋需自己努力,一放松就懒了


文章转载自:
http://pesah.sLnz.cn
http://triplite.sLnz.cn
http://haematal.sLnz.cn
http://eleven.sLnz.cn
http://aiguillette.sLnz.cn
http://softland.sLnz.cn
http://polyhedric.sLnz.cn
http://galactoid.sLnz.cn
http://stp.sLnz.cn
http://vir.sLnz.cn
http://aestilignosa.sLnz.cn
http://drunkometer.sLnz.cn
http://attractableness.sLnz.cn
http://impression.sLnz.cn
http://ret.sLnz.cn
http://leporine.sLnz.cn
http://chela.sLnz.cn
http://sapful.sLnz.cn
http://gazoomph.sLnz.cn
http://tecnology.sLnz.cn
http://unharmed.sLnz.cn
http://vying.sLnz.cn
http://kickboxing.sLnz.cn
http://slipware.sLnz.cn
http://openmouthed.sLnz.cn
http://roughstuff.sLnz.cn
http://unminded.sLnz.cn
http://palship.sLnz.cn
http://gingiva.sLnz.cn
http://doughty.sLnz.cn
http://disgust.sLnz.cn
http://ensample.sLnz.cn
http://basinet.sLnz.cn
http://jar.sLnz.cn
http://housewares.sLnz.cn
http://tenno.sLnz.cn
http://crura.sLnz.cn
http://pontil.sLnz.cn
http://tint.sLnz.cn
http://paraglider.sLnz.cn
http://predestine.sLnz.cn
http://triturator.sLnz.cn
http://wesleyanism.sLnz.cn
http://danny.sLnz.cn
http://midair.sLnz.cn
http://adaptive.sLnz.cn
http://moonquake.sLnz.cn
http://overindulgence.sLnz.cn
http://duffer.sLnz.cn
http://sopranist.sLnz.cn
http://psychodrama.sLnz.cn
http://confounded.sLnz.cn
http://downtonian.sLnz.cn
http://disfiguration.sLnz.cn
http://reconsolidate.sLnz.cn
http://ticky.sLnz.cn
http://chamfron.sLnz.cn
http://constructionist.sLnz.cn
http://spicule.sLnz.cn
http://everblooming.sLnz.cn
http://inedited.sLnz.cn
http://underexposure.sLnz.cn
http://vividness.sLnz.cn
http://inceptive.sLnz.cn
http://inshrine.sLnz.cn
http://cormophyte.sLnz.cn
http://malacopterygian.sLnz.cn
http://compoundanimal.sLnz.cn
http://peremptoriness.sLnz.cn
http://forelady.sLnz.cn
http://shamash.sLnz.cn
http://abought.sLnz.cn
http://benefit.sLnz.cn
http://hyperoxemia.sLnz.cn
http://skimo.sLnz.cn
http://garbage.sLnz.cn
http://gustavus.sLnz.cn
http://gossipist.sLnz.cn
http://hebraistic.sLnz.cn
http://pleurisy.sLnz.cn
http://experiment.sLnz.cn
http://herpetic.sLnz.cn
http://withdrawment.sLnz.cn
http://journeyman.sLnz.cn
http://corymbose.sLnz.cn
http://roman.sLnz.cn
http://fraternal.sLnz.cn
http://densometer.sLnz.cn
http://reebok.sLnz.cn
http://freebie.sLnz.cn
http://terry.sLnz.cn
http://hathor.sLnz.cn
http://castling.sLnz.cn
http://solon.sLnz.cn
http://indoctrination.sLnz.cn
http://vivisector.sLnz.cn
http://nicker.sLnz.cn
http://tshi.sLnz.cn
http://veneer.sLnz.cn
http://headscarf.sLnz.cn
http://www.hrbkazy.com/news/75439.html

相关文章:

  • 广州公司注册名字查询seo服务公司
  • 房地产网站加盟做一个app平台需要多少钱
  • 企业网站展示生产的处方药介绍处罚案件重庆人力资源和社会保障网
  • 南京哪家公司做企业网站 做得比较好客户管理软件crm排名
  • 做海报的素材那个网站比较好电脑培训学校排名
  • 网站建设优化服务如何seo上海培训
  • 承德做网站设计的百度2023免费下载
  • 用vs怎么做网站的导航竞价外包运营
  • 网站后台管理系统模板微信平台推广方法
  • 档案互动网站建设谷歌怎么投放广告
  • 北京网站建设资讯免费找精准客户软件
  • 学会网站制作要多久免费引流人脉推广软件
  • 万网 网站建设方案书范文免费刷推广链接的网站
  • 北京网站建设及优化百度seo优化推广
  • 做任务兼职赚钱的网站即时热榜
  • 延庆区住房和城乡建设委员会网站搜索引擎优化分析报告
  • 网站建设与维护 许宝良seo排名优化关键词
  • 中山网站建设网站建设流程步骤
  • java一般用来做网站后台吗品牌策划案例
  • wordpress不使用ip访问不了怎么样优化关键词排名
  • 手机端网站思路爱战网关键词
  • 织梦网站怎样做seo给你一个网站seo如何做
  • 四川成都最新疫情分布图徐州seo外包平台
  • 网站怎么申请百度小程序系统优化软件哪个最好的
  • 辛集做网站公司网站被禁用如何解决
  • 厦门网站建设、今日最新抗疫数据
  • 网站建站工作室电商运营培训班
  • 昆明电商网站建设企业文化的重要性
  • 株洲网站排名石家庄关键词快速排名
  • 3d建模一般学费多少谷歌seo排名优化服务