模组:EncoderUtil/doc
外观
这是Module:EncoderUtil的文档页面
此页面是Module:EncoderUtil的模块文档。 此页面可能包含了模板的使用说明、分类和其他内容。 |
此模块文档被引用于约680,000个页面。 为了避免造成大规模的影响,所有对此模块文档的编辑应先于沙盒或测试样例上测试。 测试后无误的版本可以一次性地加入此模块文档中,但是修改前请务必于讨论页发起讨论。 模板引用数量会自动更新。 |
使用方法
[编辑]编码
[编辑]- 本模组._jsonEncode
能将Lua编码为JSON的函数。与mw.text.jsonEncode不同在于,mw.text.jsonEncode遇到函数物件会出错,而本模组的_jsonEncode会将函数物件以替代符号表示而不会出错,能正常转换各种Lua物件。
不支援模板直接呼叫。
解码
[编辑]JSON解码仅需要使用mw.text.jsonDecode即可,本模组无特别提供。
解码
[编辑]- 本模组.yamlDecode
原始码 | 输出 |
---|---|
{{#invoke:EncoderUtil|yamlDecode|
---
receipt: Oz-Ware Purchase Invoice
date: 2012-08-06
customer:
given: Dorothy
family: Gale}}
|
{
["customer"] = {
["family"] = "Gale",
["given"] = "Dorothy"
},
["date"] = 1344182400,
["receipt"] = "Oz-Ware Purchase Invoice"
}
|
- 本模组.yaml2json
将YAML转换为JSON。支援模板直接呼叫。
原始码 | 输出 |
---|---|
{{#invoke:EncoderUtil|yaml2json|
---
receipt: Oz-Ware Purchase Invoice
date: 2012-08-06
customer:
given: Dorothy
family: Gale}}
|
{"customer":{"given":"Dorothy","family":"Gale"},"date":1344182400,"receipt":"Oz-Ware Purchase Invoice"}
|
本函数的功能并非设计给数字进行进制转换之用,而是资料流的编解码。若需要将数字进行进制转换,请参考Module:BaseConvert或Module:BigNumber提供的convertBase函数。
编码
[编辑]- 本模组._toBinary(x,digits)
能将一整数转换成指定位数的二进制资料串。(供QR码资料串编码使用)
不支援模板直接呼叫。
- 本模组._binaryEncode(str)
能将一字串以UTF-8的格式编码为二进制资料串。
有支援模板直接呼叫的函数binaryEncode
- 原始码
{{#invoke:EncoderUtil|binaryEncode|維基百科}}
- 输出→111001111011011010101101111001011001111110111010111001111001100110111110111001111010011110010001
- 本模组._hexadecimalEncode(str)
有支援模板直接呼叫的函数hexadecimalEncode
- 原始码
{{#invoke:EncoderUtil|hexadecimalEncode|維基百科,自由的百科全書}}
- 输出→e7b6ade59fbae799bee7a791efbc8ce887aae794b1e79a84e799bee7a791e585a8e69bb8
解码
[编辑]- 本模组._binaryDecode(bin)
一个二进制资料串解码为UTF-8格式编码的字串。
有支援模板直接呼叫的函数binaryDecode
- 原始码
{{#invoke:EncoderUtil|binaryDecode|111001111011011010101101111001011001111110111010111001111001100110111110111001111010011110010001}}
- 输出→維基百科
- 本模组._hexadecimalDecode(hex)
有支援模板直接呼叫的函数hexadecimalDecode
- 原始码
{{#invoke:EncoderUtil|hexadecimalDecode|e7b6ade59fbae799bee7a791efbc8ce887aae794b1e79a84e799bee7a791e585a8e69bb8}}
- 输出→維基百科,自由的百科全書
- 本模组._get_libqrcode()
初始化QR码编码程式库。此处所有函数皆不支援模板直接呼叫。若要让模板直接呼叫,请改用Module:QR和Module:RegularTiling提供的API(相依于本模组)。
初始化完的程式库有以下成员:
- license:记录函式库三句版BSD授权条款的详细资料。
- encode_string_numeric:将纯数字字串编码为QR码格式的二进制资料流。
- encode_string_ascii:将纯ASCII字串编码为QR码格式的二进制资料流。
- encode_string_binary:将UTF-8字串编码为QR码格式的二进制资料流。
- encode_data:根据QR码编码模式将输入的资料编码为QR码格式的二进制资料流。
- qrcode:生成完整QR码二维码的二进制资料流。
- get_mode:判断输入字串适合的QR码编码模式。
- get_length:将资料长度资讯编码为QR码格式的二进制资料流。
- add_pad_data:生成QR码的padding bits。
- get_generator_polynominal_adjusted:
- get_pixel_with_mask:取得QR码特定位置的掩模。
- get_version_eclevel_mode_bistringlength:
- get_version_eclevel:
- remainder:各Ver的QR码编码时需要补馀的位元数量。
- arrange_codewords_and_calculate_ec:
- calculate_error_correction:计算纠错码
- convert_bitstring_to_bytes:将长度为的二进制字串转换为长度为的数字阵列。
- get_matrix_and_penalty:
- get_matrix_with_lowest_penalty:
- bit_xor:
- 本模组._get_libbase64()
初始化Base64编码程式库。此处所有函数皆不支援模板直接呼叫。
初始化完的程式库有以下成员:
- encode( str, encoder, usecaching ):将字串以指定编码器编码为Base64。
- decode( b64, decoder, usecaching ):将Base64资料流以指定解码器进行解码。
- makeencoder( s62, s63, spad ):以给定的62、63字元和指定的spad生成编码器。
- makedecoder( s62, s63, spad ):以给定的62、63字元和指定的spad生成解码器。
编码
[编辑]- 本模组.base64Encode(str)
将字串编码为标准的Base64资料流。支援模板直接呼叫。
- 原始码
{{#invoke:EncoderUtil|base64Encode|維基百科,自由的百科全書}}
- 输出→57at5Z+655m+56eR77yM6Ieq55Sx55qE55m+56eR5YWo5pu4
解码
[编辑]- 本模组.base64Decode(b64)
将给定的Base64资料流依照标准的Base64格式进行解码。支援模板直接呼叫。
- 原始码
{{#invoke:EncoderUtil|base64Decode|57at5Z+655m+56eR77yM6Ieq55Sx55qE55m+56eR5YWo5pu4}}
- 输出→維基百科,自由的百科全書