secs-ii-serialization
📦 A C++23 SECS-II/SEMI E5 serialization library, supporting byte serialization and SML formatting.(使用C++23开发的SECS-II/SEMI E5序列化库,支持字节序列化和SML格式化。)
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (6.0%) to scientific vocabulary
Keywords
Repository
📦 A C++23 SECS-II/SEMI E5 serialization library, supporting byte serialization and SML formatting.(使用C++23开发的SECS-II/SEMI E5序列化库,支持字节序列化和SML格式化。)
Basic Info
Statistics
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
SECS-II Serialization
Introduction
A SECS-II/SEMI E5 serialization library written in C++23, supporting:
- Deserializing SECS-II data from bytes.
- Serializing SECS-II data to bytes.
- Formatting SECS-II data to SML (SECS Message Language) strings.
Unit Tests
Prerequisites
- Install GoogleTest.
- Install CMake.
Building
Go to the project folder and run:
bash
mkdir -p build
cd build
cmake -DSECS2_BUILD_TESTS=ON ..
cmake --build .
Running
Go to the build folder and run:
bash
ctest -V
Examples
Serialization
```c++ List list; list.pushback(U1 {1, 2}); list.pushback(list); list.pushback(ASCII {"msg"}); list.pushback(U2 {3, 4}); list.push_back(U1 {});
const auto bytes {Message {list}.ToBytes()}; ```
The value of bytes is:
console
0x01 (List, 1 size byte)
0x05 (5 elements)
0xA5 (U1, 1 size byte)
0x02 (2 bytes)
0x01 (1)
0x02 (2)
0x01 (List, 1 size byte)
0x01 (1 element)
0xA5 (U1, 1 size byte)
0x02 (2 bytes)
0x01 (1)
0x02 (2)
0x41 (ASCII, 1 size byte)
0x03 (3 bytes)
0x6D ('m')
0x73 ('s')
0x67 ('g')
0xA9 (U2, 1 size byte)
0x02 (4 bytes)
0x00 0x03 (3)
0x00 0x04 (4)
0xA5 (U1, 1 size byte)
0x00 (0 bytes)
SML Formatting
```c++ List list; list.pushback(I1 {}); list.pushback(Binary {staticcaststd::byte(1), staticcaststd::byte(2)}); list.pushback(list); list.pushback(ASCII {"hello"});
const auto sml {Message {list}.ToSml()}; ```
The value of sml is:
```
License
Distributed under the MIT License. See LICENSE for more information.
Owner
- Name: Zhuagenborn
- Login: Zhuagenborn
- Kind: organization
- Location: Ireland
- Repositories: 3
- Profile: https://github.com/Zhuagenborn
Software Development | Artificial Intelligence | Reverse Engineering.
Citation (CITATION.cff)
cff-version: 1.2.0 authors: - family-names: Chen given-names: Zhenshuo orcid: https://orcid.org/0000-0003-2091-4160 - family-names: Liu given-names: Guowen orcid: https://orcid.org/0000-0002-8375-5729 title: SECS-II Serialization date-released: 2025-05-20 url: https://github.com/Zhuagenborn/SECS-II-Serialization
GitHub Events
Total
- Public event: 2
- Push event: 22
- Fork event: 1
Last Year
- Public event: 2
- Push event: 22
- Fork event: 1
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout main composite
- actions/download-artifact main composite
- actions/upload-artifact main composite