差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
manual:reference:package:extend:codec:main_page [2021/06/30 22:31] – [Json 编码译码] rendmanual:reference:package:extend:codec:main_page [2021/07/03 10:17] (当前版本) – [快速开始] mikecovlee
行 4: 行 4:
   * [[:manual:reference:package:extend:codec:main_page#下载方式|下载方式]]   * [[:manual:reference:package:extend:codec:main_page#下载方式|下载方式]]
   * [[:manual:reference:package:extend:codec:main_page#简介|简介]]   * [[:manual:reference:package:extend:codec:main_page#简介|简介]]
 +  * [[:manual:reference:package:extend:codec:main_page#快速开始|快速开始]]
   * [[:manual:reference:package:extend:codec:main_page#Base32 & Base64 编码译码|Base32 & Base64 编码译码编码译码]]   * [[:manual:reference:package:extend:codec:main_page#Base32 & Base64 编码译码|Base32 & Base64 编码译码编码译码]]
   * [[:manual:reference:package:extend:codec:main_page#Json 编码译码|Json 编码译码]]   * [[:manual:reference:package:extend:codec:main_page#Json 编码译码|Json 编码译码]]
行 15: 行 16:
 在 shell 中使用 **cspkg** 工具,并使用以下指令 在 shell 中使用 **cspkg** 工具,并使用以下指令
  
-下载 codec +下载 Codec 包 
-<code bash>+<code shell>
 cspkg install codec cspkg install codec
 </code> </code>
行 33: 行 34:
 |    [[:manual:reference:package:extend:codec:main_page#Base32 & Base64 编码译码|base64]]    |  |    [[:manual:reference:package:extend:codec:main_page#Base32 & Base64 编码译码|base64]]    | 
 |    [[:manual:reference:package:extend:codec:main_page#Json 编码译码|json]]    | |    [[:manual:reference:package:extend:codec:main_page#Json 编码译码|json]]    |
 +
 +由于 **CodeC** 内容并不多,本页面将会展示全部的 API。
  
 ----- -----
 \\ \\
 +===== 快速开始 =====
  
 +<file csc codec_example_1.csc [enable_line_numbers="true"]>
 +import codec.base64.standard as base64
 +import codec.json as json
 +
 +function to_timestamp(t)
 +@begin
 +    return base64.encode(json.to_string(json.from_var({
 +        "year": t.year,
 +        "day" : t.yday,
 +        "hour": t.hour,
 +        "min" : t.min
 +    }.to_hash_map())))
 +@end
 +end
 + 
 +function from_timestamp(t)
 +    return json.to_var(json.from_string(base64.decode(t)))
 +end
 +
 +var str = to_timestamp(runtime.local_time())
 +var obj = from_timestamp(str)
 +
 +system.out.println(to_string(1900 + obj.year) + "年" + obj.day + "日" + obj.hour + "时" + obj.min + "分")
 +system.out.println(str)
 +</file>
 +
 +[[http://dev.covariant.cn/index.html?page=manual:reference:package:extend:codec:code_0|在线查看效果]]
 =====  Base32 & Base64 编码译码  ===== =====  Base32 & Base64 编码译码  =====
 **Base32** 和 **Base64** 拥有不同的命名空间,意为选用不同的编码译码器: **Base32** 和 **Base64** 拥有不同的命名空间,意为选用不同的编码译码器:
  
-^    命名空间    ^    描述    ^ +^命名空间  ^描述  ^ 
-|   || +|| 
-|    **Base32 译码器**    || +|**Base32 译码方式**  || 
-|    standard    |    标准编码译码器(RFC4648)    | +|''standard''  |标准编码译码器(RFC4648)  | 
-|    rfc4648    |    RFC4648 编码译码器    | +|''rfc4648''    |RFC4648 编码译码器  | 
-|    crockford    |    Crockford 编码译码器    | +|''crockford''  |Crockford 编码译码器  | 
-|    hex    |    二进制编码译码器    | +|''hex''    |二进制编码译码器  | 
-|   || +|| 
-|    **Base64 译码器**    || +|**Base64 译码方式**  || 
-|    standard    |    标准编码译码器(RFC4648)    | +|''standard''  |标准编码译码器(RFC4648)  | 
-|    rfc4648    |    RFC4648 编码译码器    | +|''rfc4648''  |RFC4648 编码译码器  | 
-|    url    |    为链接优化的 RFC4648 编码译码器    | +|''url''  |为链接优化的 RFC4648 编码译码器  | 
-|    url_unpadded    |    为链接优化的 RFC4648 编码译码器,无对齐符号 =    |+|''url_unpadded''  |为链接优化的 RFC4648 编码译码器,无对齐符号 =  |
  
 在以上所有命名空间内,**Base32** 与 **Base64** 都拥有编码与解码方法: 在以上所有命名空间内,**Base32** 与 **Base64** 都拥有编码与解码方法:
  
-^    方法    ^    描述    ^ +^方法  ^描述  ^ 
-|    **string** encode([codec], string)    |    编码    | +|string **encode**([codec], string)  |编码  | 
-|    **string** decode([codec], string)    |    解码    |+|string **decode**([codec], string)  |解码  |
  
  
行 67: 行 98:
 **CovScript 类型**与 **Json 类型**对应如下: **CovScript 类型**与 **Json 类型**对应如下:
 ^CovScript 类型  ^Json 类型  ^ ^CovScript 类型  ^Json 类型  ^
-|null  |null  | +|''null''  |**null**  | 
-|**number**  |real  | +|''number''  |**real**  | 
-|**string**  |string  | +|''string''  |**string**  | 
-|**boolean**  |boolean  | +|''boolean''  |**boolean**  | 
-|**array**  |array  | +|''array''  |**array**  | 
-|**hash_map**  |object  |+|''hash_map''  |**object**  |
  
 \\ \\
 命名空间 ''json'' 下有如下方法: 命名空间 ''json'' 下有如下方法:
 ^方法  ^描述  ^ ^方法  ^描述  ^
-|**[json]** from_string(string)  |从字符串新建 Json 值  | +|[json] **from_string**(string)  |从字符串新建 Json 值  | 
-|**[json]** from_stream([istream])  |从流新建 Json 值  | +|[json] **from_stream**([istream])  |从流新建 Json 值  | 
-|**[json]** from_var(var)  |从 CovScript 变量新建 Json 值  | +|[json] **from_var**(var)  |从 CovScript 变量新建 Json 值  | 
-|**string** to_string([json])  |将 Json 值转换为字符串  | +|string **to_string**([json])  |将 Json 值转换为字符串  | 
-|**var** to_var([json])  |将 Json 值转换为 CovScript 变量  | +|var **to_var**([json])  |将 Json 值转换为 CovScript 变量  | 
-|**[json]** make_null()  |创建空值  | +|[json] **make_null**()  |创建空值  | 
-|**[json]** make_array()  |创建数组  | +|[json] **make_array**()  |创建数组  | 
-|**[json]** make_object()  |创建对象  | +|[json] **make_object**()  |创建对象  | 
-|**[json]** make_int(number val)  |创建整数  | +|[json] **make_int**(number val)  |创建整数  | 
-|**[json]** make_uint(number val)  |创建无符号整数  | +|[json] **make_uint**(number val)  |创建无符号整数  | 
-|**[json]** make_real(number val)  |创建浮点数  | +|[json] **make_real**(number val)  |创建浮点数  | 
-|**[json]** make_string(string str)  |创建字符串  | +|[json] **make_string**(string str)  |创建字符串  | 
-|**[json]** make_boolean(boolean val)  |创建布尔值  | +|[json] **make_boolean**(boolean val)  |创建布尔值  | 
-|**number** as_int([json])  |获取整数  | +|number **as_int**([json])  |获取整数  | 
-|**number** as_uint([json])  |获取无符号整数  | +|number **as_uint**([json])  |获取无符号整数  | 
-|**number** as_real([json])  |获取浮点数  | +|number **as_real**([json])  |获取浮点数  | 
-|**string** as_string([json])  |获取字符串  | +|string **as_string**([json])  |获取字符串  | 
-|**boolean** as_boolean([json])  |获取布尔值  | +|boolean **as_boolean**([json])  |获取布尔值  | 
-|**boolean** is_int([json])  |判断是否为整数  | +|boolean **is_int**([json])  |判断是否为整数  | 
-|**boolean** is_uint([json])  |判断是否为无符号整数  | +|boolean **is_uint**([json])  |判断是否为无符号整数  | 
-|**boolean** is_real([json])  |判断是否为浮点数  | +|boolean **is_real**([json])  |判断是否为浮点数  | 
-|**boolean** is_null([json])  |判断是否为空值  | +|boolean **is_null**([json])  |判断是否为空值  | 
-|**boolean** is_array([json])  |判断是否为数组  | +|boolean **is_array**([json])  |判断是否为数组  | 
-|**boolean** is_object([json])  |判断是否为对象  | +|boolean **is_object**([json])  |判断是否为对象  | 
-|**boolean** is_number([json])  |判断是否为数字  | +|boolean **is_number**([json])  |判断是否为数字  | 
-|**boolean** is_string([json])  |判断是否为字符串  | +|boolean **is_string**([json])  |判断是否为字符串  | 
-|**boolean** is_boolean([json])  |判断是否为布尔值  | +|boolean **is_boolean**([json])  |判断是否为布尔值  | 
-|**number** arr_size([json])  |获取数组大小  | +|number **arr_size**([json])  |获取数组大小  | 
-|**boolean** arr_empty([json])  |判断数组是否为空  | +|boolean **arr_empty**([json])  |判断数组是否为空  | 
-|void arr_clear([json])  |清空数组  | +|void **arr_clear**([json])  |清空数组  | 
-|void arr_resize([json])  |调整数组大小,多余填充空值  | +|void **arr_resize**([json])  |调整数组大小,多余填充空值  | 
-|**[json]** arr_append([json] this, [json] value)  |在尾部添加新值  | +|[json] **arr_append**([json] this, [json] value)  |在尾部添加新值  | 
-|**[json]** arr_get([json], number)  |获取指定下标的值  | +|[json] **arr_get**([json], number)  |获取指定下标的值  | 
-|void arr_set([json], number idx, [json] value)  |设置指定下标的值  | +|void **arr_set**([json], number idx, [json] value)  |设置指定下标的值  | 
-|**[json]** get_member([json] this, string key)  |获取对象成员  | +|[json] **get_member**([json] this, string key)  |获取对象成员  | 
-|**[json]** set_member([json] this, string key, [json] value)  |设置对象成员  | +|[json] **set_member**([json] this, string key, [json] value)  |设置对象成员  | 
-|**boolean** has_member([json] this, string key)  |判断是否存在成员  | +|boolean **has_member**([json] this, string key)  |判断是否存在成员  | 
-|**array** get_member_names([json])  |获取成员名称列表  | +|array **get_member_names**([json])  |获取成员名称列表  | 
-|void to_stream([json] this, [ostream] os)  |将 Json 值输出至流|+|void **to_stream**([json] this, [ostream] os)  |将 Json 值输出至流|
  
 ----- -----
 \\ \\