差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
manual:reference:package:extend:codec:main_page [2021/07/01 21:09] – [快速开始] rend | manual:reference:package:extend:codec:main_page [2021/07/03 10:17] (当前版本) – [快速开始] mikecovlee | ||
---|---|---|---|
行 41: | 行 41: | ||
===== 快速开始 ===== | ===== 快速开始 ===== | ||
- | <code python> | + | <file csc codec_example_1.csc [enable_line_numbers=" |
import codec.base64.standard as base64 | import codec.base64.standard as base64 | ||
import codec.json as json | import codec.json as json | ||
+ | |||
function to_timestamp(t) | function to_timestamp(t) | ||
+ | @begin | ||
return base64.encode(json.to_string(json.from_var({ | return base64.encode(json.to_string(json.from_var({ | ||
" | " | ||
行 51: | 行 53: | ||
" | " | ||
}.to_hash_map()))) | }.to_hash_map()))) | ||
+ | @end | ||
end | end | ||
+ | |||
function from_timestamp(t) | function from_timestamp(t) | ||
return json.to_var(json.from_string(base64.decode(t))) | return json.to_var(json.from_string(base64.decode(t))) | ||
end | end | ||
- | </ | ||
+ | var str = to_timestamp(runtime.local_time()) | ||
+ | var obj = from_timestamp(str) | ||
+ | |||
+ | system.out.println(to_string(1900 + obj.year) + " | ||
+ | system.out.println(str) | ||
+ | </ | ||
+ | |||
+ | [[http:// | ||
===== Base32 & Base64 编码译码 | ===== Base32 & Base64 编码译码 | ||
**Base32** 和 **Base64** 拥有不同的命名空间,意为选用不同的编码译码器: | **Base32** 和 **Base64** 拥有不同的命名空间,意为选用不同的编码译码器: | ||
- | ^ 命名空间 | + | ^命名空间 |
- | | || | + | || |
- | | **Base32 译码方式** | + | |**Base32 译码方式** |
- | | standard | + | |'' |
- | | rfc4648 | + | |'' |
- | | crockford | + | |'' |
- | | hex | 二进制编码译码器 | + | |'' |
- | | || | + | || |
- | | **Base64 译码方式** | + | |**Base64 译码方式** |
- | | standard | + | |'' |
- | | rfc4648 | + | |'' |
- | | url | 为链接优化的 RFC4648 编码译码器 | + | |'' |
- | | url_unpadded | + | |'' |
在以上所有命名空间内,**Base32** 与 **Base64** 都拥有编码与解码方法: | 在以上所有命名空间内,**Base32** 与 **Base64** 都拥有编码与解码方法: | ||
- | ^ 方法 | + | ^方法 |
- | | **string** encode([codec], | + | |string **encode**([codec], string) |
- | | **string** decode([codec], | + | |string **decode**([codec], string) |
行 88: | 行 98: | ||
**CovScript 类型**与 **Json 类型**对应如下: | **CovScript 类型**与 **Json 类型**对应如下: | ||
^CovScript 类型 | ^CovScript 类型 | ||
- | |null |null | | + | |'' |
- | |**number** | + | |'' |
- | |**string** | + | |'' |
- | |**boolean** | + | |'' |
- | |**array** | + | |'' |
- | |**hash_map** | + | |'' |
\\ | \\ | ||
命名空间 '' | 命名空间 '' | ||
^方法 | ^方法 | ||
- | |**[json]** from_string(string) | + | |[json] **from_string**(string) |
- | |**[json]** from_stream([istream]) | + | |[json] **from_stream**([istream]) |
- | |**[json]** from_var(var) | + | |[json] **from_var**(var) |从 CovScript 变量新建 Json 值 | |
- | |**string** to_string([json]) | + | |string **to_string**([json]) |
- | |**var** to_var([json]) | + | |var **to_var**([json]) |
- | |**[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 |
- | |**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], | + | |[json] **arr_get**([json], number) |
- | |void arr_set([json], | + | |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 值输出至流| |
----- | ----- | ||
\\ | \\ |