gpt4 book ai didi

java - LibreOffice Java 包设置vendorData

转载 作者:行者123 更新时间:2023-12-01 09:35:36 25 4
gpt4 key购买 nike

所以我今天有一个任务,自动化在 LibreOffice 中选择 Java 包的过程(当您在 GPO 中安装新的 Java 版本时,您必须在 LibreOffice 中通过“工具”->“设置”-> 手动选择新的 Java 版本) LibreOffice->高级)。这个想法非常简单,我需要更改的一切就是这个带有 PowerShell 脚本的简单 xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!--This is a generated file. Do not alter this file!-->
<java xmlns="http://openoffice.org/2004/java/framework/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<enabled xsi:nil="true"/>
<userClassPath xsi:nil="false">//server/public/base/mysql-connector-java-5.1.25/mysql-connector-java-5.1.25-bin.jar</userClassPath>
<vmParameters xsi:nil="true"/>
<jreLocations xsi:nil="true"/>
<javaInfo xsi:nil="false" vendorUpdate="2013-05-02" autoSelect="false">
<vendor>Oracle Corporation</vendor>
<location>file:///C:/Program%20Files%20(x86)/Java/jre1.8.0_91</location>
<version>1.8.0_91</version>
<features>0</features>
<requirements>0</requirements>
<vendorData>660069006C0065003A002F00[...]76006D002E0064006C006C00</vendorData> //250+ hex characters
</javaInfo>
</java>

一切都很顺利,直到我注意到这个供应商数据元素。它对于每个包来说都是唯一的,并且包含大约 250 个以上的十六进制字符。当我尝试手动更改其中的某些内容时,LibreOffice 中对 Java 包的选择会自动取消选中,如果我再次手动选择包,十六进制字符串将自动生成。我认为这个字符串包含校验和。

有谁知道这个字符串是怎么生成的吗?是否有任何 LibreOffice 文档可以找到类似这样的内容?

Xml 文件通常位于 %appdata%\Roaming\LibreOffice\4\user\config\javasettings_Windows_x86.xml

十六进制字符串的长度各不相同,但其中某些部分似乎是恒定的。

最佳答案

嗯,答案很简单。这个“奇怪的”十六进制字符串只是从内容到文件位置的路径+最后它在同一代码中添加了字符串“/bin/client/jvm.dll”,其中十六进制代码中的 FF 只是 ASCII 字符的数量,然后00 表示下一个字母。

例如:

6100620063

所以我们得到了 3 个字符,十进制中的 61 是 97,ASCII 中是“a”。

整个“6100620063”表示“abc”。

有了这些知识,我们只需要简单的函数即可将“/bin/client/jvm.dll”内容转录为十六进制代码。

关于java - LibreOffice Java 包设置vendorData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38974221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com