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

commons-codec

概述

Java编码解码工具库,提供Base64、Hex、MD5、SHA1等常用编解码算法的实现。

maven依赖

        <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec --><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.19.0</version></dependency>

常用API

编码与解码

  • Base16 Base16编码解码
方法说明
Base16()
Base16(boolean lowerCase)
Base16(boolean lowerCase, CodecPolicy decodingPolicy)
构造方法
getChunkSeparator()静态方法,获取块分隔符
decode(byte[] array)
decode(Object obj)
decode(String array)
解码
encode(byte[] array)
encode(byte[] array, int offset, int length)
encode(Object obj)
编码
encodeAsString(byte[] array)
encodeToString(byte[] array)
编码为字符串
getCodecPolicy()获取编码策略
getEncodedLength(byte[] array)获取array数组编码后的长度
isInAlphabet(byte[] arrayOctet, boolean allowWSPad)
isInAlphabet(String basen)
isInAlphabet(byte octet)
判断字符是否在 Base16 字母表中
isStrictDecoding()是否是严格解码
  • Base32 Base32编码解码
方法说明
builder()静态方法,获取Base32对象构造器
Base32()
Base32(boolean useHex)
Base32(boolean useHex, byte padding)
Base32(byte pad)
Base32(int lineLength)
Base32(int lineLength, byte[] lineSeparator)
Base32(int lineLength, byte[] lineSeparator, boolean useHex)
Base32(int lineLength, byte[] lineSeparator, boolean useHex, byte padding)
Base32(int lineLength, byte[] lineSeparator, boolean useHex, byte padding, CodecPolicy decodingPolicy)
构造方法
getChunkSeparator()静态方法,获取块分隔符
decode(byte[] array)
decode(Object obj)
decode(String array)
解码
encode(byte[] array)
encode(byte[] array, int offset, int length)
encode(Object obj)
编码
encodeAsString(byte[] array)
encodeToString(byte[] array)
编码为字符串
getCodecPolicy()获取编码策略
getEncodedLength(byte[] array)获取array数组编码后的长度
isInAlphabet(byte[] arrayOctet, boolean allowWSPad)
isInAlphabet(String basen)
isInAlphabet(byte octet)
判断字符是否在 Base16 字母表中
isStrictDecoding()是否是严格解码
  • Base32.Builder Base32构造器
方法说明
get()获取Base32对象
setHexDecodeTable(boolean useHex)设置是否使用十六进制解码表
setHexEncodeTable(boolean useHex)设置是否使用十六进制编码表
setDecodingPolicy(CodecPolicy decodingPolicy)设置解码策略
setEncodeTable(byte… encodeTable)设置编码表
setLineLength(int lineLength)设置行长度,默认76
setLineSeparator(byte… lineSeparator)设置行分隔符
setPadding(byte padding)设置填充字符
  • Base64 Base64编码解码
方法说明
builder()静态方法,获取Base64对象构造器
decodeBase64(byte[] base64Data)
decodeBase64(String base64String)
静态方法,base64解码
decodeInteger(byte[] array)静态方法,解码整数
encodeBase64(byte[] binaryData)
encodeBase64(byte[] binaryData, boolean isChunked)
encodeBase64(byte[] binaryData, boolean isChunked, boolean urlSafe)
encodeBase64(byte[] binaryData, boolean isChunked, boolean urlSafe, int maxResultSize)
静态方法,base64编码
encodeBase64Chunked(byte[] binaryData)静态方法,大数据分块base64编码
encodeBase64String(byte[] binaryData)静态方法,base64编码,返回字符串。
encodeBase64URLSafe(byte[] binaryData)静态方法, base64编码,并安全URL转换(转换+为-、/为_、将多余的=去掉)
encodeBase64URLSafeString(byte[] binaryData)静态方法,base64编码,并安全URL转换,返回字符串。
encodeInteger(BigInteger bigInteger)静态方法,编码整数
isBase64(byte octet)
isBase64(byte[] arrayOctet)
isBase64(String base64)
静态方法,判断是否是base64编码字符、字符数组、字符串
Base64()
Base64(boolean urlSafe)
Base64(int lineLength)
Base64(int lineLength, byte[] lineSeparator)
Base64(int lineLength, byte[] lineSeparator, boolean urlSafe)
Base64(int lineLength, byte[] lineSeparator, boolean urlSafe, CodecPolicy decodingPolicy)
构造方法
isUrlSafe()是否安全URL转换处理
getChunkSeparator()静态方法,获取块分隔符
decode(byte[] array)
decode(Object obj)
decode(String array)
解码
encode(byte[] array)
encode(byte[] array, int offset, int length)
encode(Object obj)
编码
encodeAsString(byte[] array)
encodeToString(byte[] array)
编码为字符串
getCodecPolicy()获取编码策略
getEncodedLength(byte[] array)获取array数组编码后的长度
isInAlphabet(byte[] arrayOctet, boolean allowWSPad)
isInAlphabet(String basen)
isStrictDecoding()是否是严格解码
  • Base64.Builder Base64构造器
方法说明
get()获取Base64对象
setUrlSafe(boolean urlSafe)配置是否安全URL转换处理
setDecodingPolicy(CodecPolicy decodingPolicy)设置解码策略
setEncodeTable(byte… encodeTable)设置编码表
setLineLength(int lineLength)设置行长度,默认76
setLineSeparator(byte… lineSeparator)设置行分隔符
setPadding(byte padding)设置填充字符
  • BCodec 单流编解码,专用于语音合成
方法说明
BCodec()
BCodec(Charset charset)
BCodec(Charset charset, CodecPolicy decodingPolicy)
BCodec(String charsetName)
构造方法
decode(Object value)
decode(String value)
解码
encode(Object value)
encode(String strSource)
encode(String strSource, Charset sourceCharset)
encode(String strSource, String sourceCharset)
编码
isStrictDecoding()是否是严格解码
  • QCodec Qt字符编码
方法说明
QCodec()
QCodec(Charset charset)
QCodec(String charsetName)
构造方法
decode(Object obj)
decode(String str)
解码
encode(Object obj)
encode(String sourceStr)
encode(String sourceStr, Charset sourceCharset)
encode(String sourceStr, String sourceCharset)
编码
isEncodeBlanks()
setEncodeBlanks(boolean b)
判断或配置是否编码空格
  • URLCodec URL编码
方法说明
decodeUrl(byte[] bytes)静态方法,Url解码
encodeUrl(BitSet urlsafe, byte[] bytes)静态方法,Url编码
URLCodec()
URLCodec(String charset)
构造方法
decode(byte[] bytes)
decode(Object obj)
decode(String str)
decode(String str, String charsetName)
解码
encode(byte[] bytes)
encode(Object obj)
encode(String str)
encode(String str, String charsetName)
编码
getDefaultCharset()获取默认编码集
  • BinaryCodec 二进制编码
方法说明
fromAscii(byte[] ascii)
fromAscii(char[] ascii)
静态方法,二进制字节数组解析成对应的 ASCII 字节数组
toAsciiBytes(byte[] raw)静态方法,ASCII 字节数组解析成对应的二进制字节数组
toAsciiChars(byte[] raw)静态方法,ASCII 字节数组解析成对应的二进制字符数组
toAsciiString(byte[] raw)静态方法,ASCII 字节数组解析成对应的二进制字符串
BinaryCodec()构造方法
decode(byte[] ascii)
decode(Object ascii)
解码,二进制字符串解析成对应的 ASCII 字符
encode(byte[] raw)
encode(Object raw)
编码,将 ASCII 字符串转换成字节数组,然后将字节数组中的每一个字节转换成一个长度为 8 的二进制字符串。
toByteArray(String ascii)
  • Hex 十六进制编码
方法说明
decodeHex(char[] data)
decodeHex(char[] data, byte[] out, int outOffset)
decodeHex(String data)
静态方法,十六进制解码
encodeHex(byte[] data)
encodeHex(byte[] data, boolean toLowerCase)
encodeHex(byte[] data, int dataOffset, int dataLen, boolean toLowerCase)
encodeHex(byte[] data, int dataOffset, int dataLen, boolean toLowerCase, char[] out, int outOffset)
encodeHex(ByteBuffer data)
encodeHex(ByteBuffer data, boolean toLowerCase)
静态方法, 十六进制编码
encodeHexString(byte[] data)
encodeHexString(byte[] data, boolean toLowerCase)
encodeHexString(ByteBuffer data)
encodeHexString(ByteBuffer data, boolean toLowerCase)
静态方法,十六进制编码,返回字符串
Hex()
Hex(Charset charset)
Hex(String charsetName)
构造方法
decode(byte[] array)
decode(ByteBuffer buffer)
decode(Object object)
解码
encode(byte[] array)
encode(ByteBuffer array)
encode(Object object)
编码
getCharset()
getCharsetName()
获取字符集
  • PercentCodec 百分比编码
方法说明
PercentCodec()
PercentCodec(byte[] alwaysEncodeChars, boolean plusForSpace)
构造方法
decode(byte[] bytes)
decode(Object obj)
解码
encode(byte[] bytes)
encode(Object obj)
编码
  • QuotedPrintableCodec Quoted-Printable编码
方法说明
decodeQuotedPrintable(byte[] bytes)静态方法
encodeQuotedPrintable(BitSet printable, byte[] bytes)
encodeQuotedPrintable(BitSet printable, byte[] bytes, boolean strict)
静态方法
QuotedPrintableCodec()
QuotedPrintableCodec(boolean strict)
QuotedPrintableCodec(Charset charset)
QuotedPrintableCodec(Charset charset, boolean strict)
QuotedPrintableCodec(String charsetName)
decode(byte[] bytes)
decode(Object obj)
decode(String sourceStr)
decode(String sourceStr, Charset sourceCharset)
decode(String sourceStr, String sourceCharset)
encode(byte[] bytes)
encode(Object obj) throws EncoderException
encode(String sourceStr) throws EncoderException
encode(String sourceStr, Charset sourceCharset)
encode(String sourceStr, String sourceCharset)
getCharset()
getDefaultCharset()
获取编码集

其它编码

  • BeiderMorseEncoder 基于语音匹配算法编码,主要用于处理姓名等词汇的音译转换。
方法说明
BeiderMorseEncoder()构造方法
encode(Object source)
encode(String source)
编码
getNameType()
setNameType(NameType nameType)
getRuleType()
setRuleType(RuleType ruleType)
isConcat()
setConcat(boolean concat)
setMaxPhonemes(int maxPhonemes)
  • Caverphone1 基于语音算法编码,用于姓名或单词的模糊匹配
方法说明
Caverphone1()构造方法
encode(String source)
encode(Object source)
编码
isEncodeEqual(String str1, String str2)判断两个字符串的编码是否一致
  • Caverphone2 基于语音算法编码,优化了发音规则,支持更广泛的英语方言和非英语姓名
方法说明
Caverphone2()构造方法
encode(String source)
encode(Object source)
编码
isEncodeEqual(String str1, String str2)判断两个字符串的编码是否一致
  • ColognePhonetic 基于德语发音规则的语音编码,主要用于德语文本的音位转换,能够将发音相似的单词映射为相同的编码。
方法说明
ColognePhonetic()构造方法
encode(Object object)
encode(String text)
colognePhonetic(String text)
编码
isEncodeEqual(String text1, String text2)判断两个字符串的编码是否一致
  • DaitchMokotoffSoundex 基于音素分析的字符串编码
方法说明
DaitchMokotoffSoundex()
DaitchMokotoffSoundex(boolean folding)
构造方法
encode(Object obj)
encode(String source)
编码,多值取第一个
soundex(String source)编码,多值拼接
  • DoubleMetaphone 语言编码,适用于英语、法语、意大利语、西班牙语等多种语言。
方法说明
DoubleMetaphone()构造方法
doubleMetaphone(String value)
doubleMetaphone(String value, boolean alternate)
encode(Object obj)
encode(String value)
编码
getMaxCodeLen()
setMaxCodeLen(int maxCodeLen)
获取或配置 编码的最大长度限制
isDoubleMetaphoneEqual(String value1, String value2)
isDoubleMetaphoneEqual(String value1, String value2, boolean alternate)
判断两个字符串的编码是否一致
  • MatchRatingApproachEncoder 音形编码,主要用于将字符串转换为音形编码值,常用于文本处理、数据检索等场景。 ‌
方法说明
MatchRatingApproachEncoder()构造方法
encode(Object object)
encode(String name)
编码
isEncodeEquals(String name1, String name2)判断两个字符串的编码是否一致
  • Metaphone 语音编码
方法说明
Metaphone()构造方法
encode(Object obj)
encode(String str)
metaphone(String txt)
编码
getMaxCodeLen()
setMaxCodeLen(int maxCodeLen)
获取或配置 编码的最大长度限制
isMetaphoneEqual(String str1, String str2)判断两个字符串的编码是否一致
  • Nysiis 语音编码,用于将人名转换为基于发音的编码形式
方法说明
Nysiis()
Nysiis(boolean strict)
构造方法
encode(Object obj)
encode(String str)
nysiis(String str)
编码
isStrict()判断是否严格
  • RefinedSoundex 语音编码
方法说明
RefinedSoundex()
RefinedSoundex(char[] mapping)
RefinedSoundex(String mapping)
构造方法
difference(String s1, String s2)获取两个字符串编码的不同
encode(Object obj)
encode(String str)
soundex(String str)
编码
  • Soundex 发音相似性评估的字符串编码
方法说明
Soundex()
Soundex(char[] mapping)
Soundex(String mapping)
Soundex(String mapping, boolean specialCaseHW)
difference(String s1, String s2)获取两个字符串编码的不同
encode(Object obj)
encode(String str)
soundex(String str)
编码

摘要

  • DigestUtils 摘要工具类
方法说明
digest(MessageDigest messageDigest, byte[] data)
digest(MessageDigest messageDigest, ByteBuffer data)
digest(MessageDigest messageDigest, File data)
digest(MessageDigest messageDigest, InputStream data)
digest(MessageDigest messageDigest, Path data, OpenOption… options)
digest(MessageDigest messageDigest, RandomAccessFile data)
静态方法,通过指定的摘要算法获取摘要
getDigest(String algorithm)
getDigest(String algorithm, MessageDigest defaultMessageDigest)
静态方法,通过名称获取算法对象
getMd2Digest()静态方法,获取Md2算法
getMd5Digest()静态方法,获取Md5算法
getSha1Digest()静态方法,获取Sha1算法
getSha256Digest()静态方法,获取Sha256算法
getSha3_224Digest()静态方法,获取Sha3_224算法
getSha3_256Digest()静态方法,获取Sha3_256算法
getSha3_384Digest()静态方法,获取Sha3_384算法
getSha3_512Digest()静态方法,获取Sha3_512算法
getSha384Digest()静态方法,获取Sha384算法
getSha512_224Digest()静态方法,获取Sha512_224算法
getSha512_256Digest()静态方法,获取Sha512_256算法
getSha512Digest()静态方法,获取Md2算法
isAvailable(String messageDigestAlgorithm)静态方法,判断指定算法是否可用
md2(byte[] data)
md2(InputStream data)
md2(String data)
静态方法,获取md2算法的摘要,返回字节数组
md2Hex(byte[] data)
md2Hex(InputStream data)
md2Hex(String data)
静态方法,获取md2算法的摘要,返回十六进制字符串
md5(byte[] data)
md5(InputStream data)
md5(String data)
静态方法,获取md5算法的摘要,返回字节数组
md5Hex(byte[] data)
md5Hex(InputStream data)
md5Hex(String data)
静态方法,获取md5算法的摘要,返回十六进制字符串
sha1(byte[] data)
sha1(InputStream data)
sha1(String data)
静态方法,获取sha1算法的摘要,返回字节数组
sha1Hex(byte[] data)
sha1Hex(InputStream data)
sha1Hex(String data)
静态方法,获取sha1算法的摘要,返回十六进制字符串
sha256(byte[] data)
sha256(InputStream data)
sha256(String data)
静态方法,获取sha256算法的摘要,返回字节数组
sha256Hex(byte[] data)
sha256Hex(InputStream data)
sha256Hex(String data)
静态方法,获取sha256算法的摘要,返回十六进制字符串
sha3_224(byte[] data)
sha3_224(InputStream data)
sha3_224(String data)
静态方法,获取sha3_224算法的摘要,返回字节数组
sha3_224Hex(byte[] data)
sha3_224Hex(InputStream data)
sha3_224Hex(String data)
静态方法,获取sha3_224算法的摘要,返回十六进制字符串
sha3_256(byte[] data)
sha3_256(InputStream data)
sha3_256(String data)
静态方法,获取sha3_256算法的摘要,返回字节数组
sha3_256Hex(byte[] data)
sha3_256Hex(InputStream data)
sha3_256Hex(String data)
静态方法,获取sha3_256算法的摘要,返回十六进制字符串
sha3_384(byte[] data)
sha3_384(InputStream data)
sha3_384(String data)
静态方法,获取sha3_384算法的摘要,返回字节数组
sha3_384Hex(byte[] data)
sha3_384Hex(InputStream data)
sha3_384Hex(String data)
静态方法,获取sha3_384算法的摘要,返回十六进制字符串
sha3_512(byte[] data)
sha3_512(InputStream data)
sha3_512(String data)
静态方法,获取sha3_512算法的摘要,返回字节数组
sha3_512Hex(byte[] data)
sha3_512Hex(InputStream data)
sha3_512Hex(String data)
静态方法,获取sha3_512算法的摘要,返回十六进制字符串
sha384(byte[] data)
sha384(InputStream data)
sha384(String data)
静态方法, 获取sha384算法的摘要,返回字节数组
sha384Hex(byte[] data)
sha384Hex(InputStream data)
sha384Hex(String data)
静态方法,获取sha384算法的摘要,返回十六进制字符串
sha512(byte[] data)
sha512(InputStream data)
sha512(String data)
静态方法,获取sha512算法的摘要,返回字节数组
sha512_224(byte[] data)
sha512_224(InputStream data)
sha512_224(String data)
静态方法,获取sha512_224算法的摘要,返回字节数组
sha512_224Hex(byte[] data)
sha512_224Hex(InputStream data)
sha512_224Hex(String data)
静态方法,获取sha512_224算法的摘要,返回十六进制字符串
sha512_256(byte[] data)
sha512_256(InputStream data)
sha512_256(String data)
静态方法,获取sha512_256算法的摘要,返回字节数组
sha512_256Hex(byte[] data)
sha512_256Hex(InputStream data)
sha512_256Hex(String data)
静态方法,获取sha512_256算法的摘要,返回十六进制字符串
sha512Hex(byte[] data)
sha512Hex(InputStream data)
sha512Hex(String data)
静态方法, 获取sha512算法的摘要,返回十六进制字符串
updateDigest(MessageDigest messageDigest, byte[] valueToDigest)
updateDigest(MessageDigest messageDigest, ByteBuffer valueToDigest)
updateDigest(MessageDigest digest, File data)
updateDigest(MessageDigest digest, InputStream inputStream)
updateDigest(MessageDigest digest, Path path, OpenOption… options)
updateDigest(MessageDigest digest, RandomAccessFile data)
updateDigest(MessageDigest messageDigest, String valueToDigest)
静态方法,
DigestUtils(MessageDigest digest)
DigestUtils(String name)
构造方法
digest(byte[] data)
digest(ByteBuffer data)
digest(File data)
digest(InputStream data)
digest(Path data, OpenOption… options)
digest(String data)
获取摘要,返回字节数组
digestAsHex(byte[] data)
digestAsHex(ByteBuffer data)
digestAsHex(File data)
digestAsHex(InputStream data)
digestAsHex(Path data, OpenOption… options)
digestAsHex(String data)
获取摘要,返回十六进制字符串
getMessageDigest()获取摘要算法
  • HmacUtils Hmac(密钥散列消息认证码)工具类
方法说明
getInitializedMac(HmacAlgorithms algorithm, byte[] key)
getInitializedMac(String algorithm, byte[] key)
静态方法,获取Mac对象实例
isAvailable(HmacAlgorithms name)
isAvailable(String name)
静态方法,判断算法是否有效
updateHmac(Mac mac, byte[] valueToDigest)
updateHmac(Mac mac, InputStream valueToDigest)
updateHmac(Mac mac, String valueToDigest)
静态方法,获取指定算法的摘要
HmacUtils(HmacAlgorithms algorithm, byte[] key)
HmacUtils(HmacAlgorithms algorithm, String key)
HmacUtils(String algorithm, byte[] key)
HmacUtils(String algorithm, String key)
构造方法
hmac(byte[] valueToDigest)
hmac(ByteBuffer valueToDigest)
hmac(File valueToDigest)
hmac(InputStream valueToDigest)
hmac(Path valueToDigest)
hmac(String valueToDigest)
获取摘要,返回字节数组
hmacHex(byte[] valueToDigest)
hmacHex(ByteBuffer valueToDigest)
hmacHex(File valueToDigest)
hmacHex(InputStream valueToDigest)
hmacHex(Path valueToDigest)
hmacHex(String valueToDigest)
获取摘要,返回十六进制字符串
  • Md5Crypt
方法说明
apr1Crypt(byte[] keyBytes)
apr1Crypt(byte[] keyBytes, Random random)
apr1Crypt(byte[] keyBytes, String salt)
apr1Crypt(String keyBytes)
apr1Crypt(String keyBytes, String salt)
获取摘要
md5Crypt(byte[] keyBytes)
md5Crypt(byte[] keyBytes, Random random)
md5Crypt(byte[] keyBytes, String salt)
md5Crypt(byte[] keyBytes, String salt, String prefix)
md5Crypt(byte[] keyBytes, String salt, String prefix, Random random)
获取摘要
  • MurmurHash2 非加密哈希函数
方法说明
hash32(byte[] data, int length)
hash32(byte[] data, int length, int seed)
hash32(String text)
hash32(String text, int from, int length)
32位哈希值
hash64(byte[] data, int length)
hash64(byte[] data, int length, int seed)
hash64(String text)
hash64(String text, int from, int length)
64位哈希值
  • MurmurHash3 非加密散列函数
方法说明
hash128(byte[] data)128位哈希值
hash128x64(byte[] data)
hash128x64(byte[] data, int offset, int length, int seed)
128x64位哈希值
hash32(long data)
hash32(long data, int seed)
hash32(long data1, long data2)
hash32(long data1, long data2, int seed)
32位哈希值
hash32x86(byte[] data)
hash32x86(byte[] data, int offset, int length, int seed)
32x86位哈希值
  • Sha2Crypt Sha2加密
方法说明
sha256Crypt(byte[] keyBytes)
sha256Crypt(byte[] keyBytes, String salt)
sha256Crypt(byte[] keyBytes, String salt, Random random)
sha256算法获取消息摘要
sha512Crypt(byte[] keyBytes)
sha512Crypt(byte[] keyBytes, String salt)
sha512Crypt(byte[] keyBytes, String salt, Random random)
sha512算法获取消息摘要
  • UnixCrypt Unix加密
方法说明
crypt(byte[] original)
crypt(byte[] original, String salt)
crypt(String original)
crypt(String original, String salt)
加密字符串
  • PureJavaCrc32 校验和算法
方法说明
PureJavaCrc32()构造方法
getValue()获取校验和
reset()重置
update(byte[] b, int offset, int len)
update(int b)
更新
  • PureJavaCrc32C 校验和算法
方法说明
PureJavaCrc32C()构造方法
getValue()获取校验和
reset()重置
update(byte[] b, int off, int len)
update(int b)
更新
  • XXHash32 校验和算法
方法说明
XXHash32()
XXHash32(int seed)
构造方法
getValue()获取校验和
reset()重置
update(byte[] b, int off, int len)
update(int b)
更新
http://www.dtcms.com/a/410804.html

相关文章:

  • Python 爬虫 HTTPS 实战,requests httpx aiohttp 抓取技巧、证书问题与抓包调试全流程
  • 网站建设小江网页设计工作室主题网站
  • 【算法部署】百度paddle环境适配
  • Linux网络:使用UDP实现网络通信(服务端客户端)
  • 免费个人网站手机app开发技术
  • 论坛网站开发demo查关键词排名软件
  • 茶吧机方案MCU控制方案开发相关资料-茶吧机单片机应用
  • 网站是如何做的好什么网站权重快
  • VR禁毒单车骑行:穿越百年禁毒史的沉浸式教育革命
  • k8s基础
  • 益阳北京网站建设网站代运营要多少费用
  • PHP使用Imagick库操作tiff
  • 海阔淘宝客助手wordpress演示站 | 紫色清新商城模板枣阳网站建设公司
  • 孤岛水流问题
  • SWAT模型在水文水资源、面源污染模拟中的实践技术应用及典型案例分析
  • 【C++】二叉搜索树的模拟实现和二叉树进阶OJ
  • Redis - Bitmap 类型
  • AUTOSAR 自适应平台 如何保证时间同步的可靠性?出现故障怎么办?
  • 设计互动网站建设做网页向网站提交数据
  • 北京架设网站杭州 建设网站制作
  • 学习笔记:Vue Router 编程式导航详解
  • Centos 7 创建ftp 权限最大支持上传删减
  • 哪家公司设计网站学用php做网站
  • 租用网站服务器网站改版 升级的目的是什么意思
  • java 项目docker 部署。
  • 【知识库文档】数据预处理PDF文档转成MD格式(gptpdf )
  • Java 高效实现 PowerPoint 转 PDF:不依赖Office
  • 新奇特:神经网络烘焙坊(下),万能配方的甜蜜奥义
  • 翁恺老师C语言基础教程代码学习
  • 天津建设网站的公司哪家好云南昆明网站建设价格