# stzb-jingzhou-parser **Repository Path**: yr_binary/stzb-jingzhou-parser ## Basic Information - **Project Name**: stzb-jingzhou-parser - **Description**: 率土之滨荆州 TCP 会话解析:提取用户/盟/坐标实体,导出 CSV/XLSX,内置 tkinter GUI - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-01 - **Last Updated**: 2026-01-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 率土之滨荆州数据解析(TCP 会话) 解析 `tcp.hcy` 会话文件中嵌入的核心业务数据(用户、盟、坐标与实体状态),支持导出 CSV/XLSX,并提供内置 GUI 浏览与筛选。 ## 功能 - 解析用户条目:`id`、`name`、`coord_code`(坐标编码,规则 `x0y`)、`x/y`、`alliance_id/name`。 - 解析坐标实体:`type_code`、`type_label`(战场/军营/沃土/要塞)、`entity_id`、`name`、时间戳区间(`start_ts/end_ts`)、`value8`、`27:[a,b,start,end]`、`4:["..."]`。 - 导出:CSV(UTF-8)与可选 XLSX(自动清理非法控制字符)。 - GUI:`tkinter + ttk`,`clam` 主题,支持名称与类型过滤、导出。 ## 目录结构 - `extract_users_from_hcy.py`:命令行解析与导出(用户 + 实体统计摘要)。 - `hcy_gui.py`:图形界面,按标签页浏览“用户”“坐标实体”,过滤与导出。 ## 环境要求 - Python 3.9+(Windows 推荐) - 可选:`openpyxl`(用于导出 Excel) - 安装:`pip install openpyxl` ## 使用说明 ### 命令行 1. 默认解析: - `python "e:\qwq\率土之滨\extract_users_from_hcy.py"` - 默认读取:`e:\qwq\率土之滨\荆州\荆州\tcp.hcy` 2. 指定源文件: - `python "e:\qwq\率土之滨\extract_users_from_hcy.py" "e:\qwq\率土之滨\荆州\荆州\tcp.hcy"` 3. 输出: - 用户 CSV/XLSX:与源文件同目录,`tcp_users.csv`、`tcp_users.xlsx` - 控制台打印前 10 条用户与实体摘要 ### GUI 1. 启动:`python "e:\qwq\率土之滨\hcy_gui.py"` 2. 步骤:顶部“浏览”选择 `.hcy` → “解析” 3. 用户页:按名称过滤,导出为 CSV/XLSX 4. 实体页:按名称与类型过滤(战场/军营/沃土/要塞),导出为 CSV/XLSX ## 数据说明 - 坐标编码遵循 `x0y`:如 `9190401` → `x=919`、`y=401` - 用户条目:形如 `id:["名称", x0y, ..., [盟ID, 0, "盟名称"]]` - 坐标对象:键为坐标编码 - `0:[...]` 主状态(类型码、实体编号、时间戳、字符串片段) - `27:[a,b,start,end]` 时间窗数据 - `8:value` 数值键 - `4:["..."]` 配置清单字符串 ## 注意事项 - `.hcy` 为混合二进制 + 文本片段,解析采用稳健的正则与窗口截取策略;若遇到未覆盖的结构,可按需扩展规则。 - 导出 XLSX 时会自动剔除非法控制字符,避免 `openpyxl` 报错。 - 本项目不含任何秘钥或敏感信息;请勿提交你的个人账户凭据。 ## 推送到 Gitee(示例流程) 1. 在 Gitee 新建仓库(私有或公开)。 2. 本地初始化并推送: ```powershell cd "e:\qwq\率土之滨" git init git add extract_users_from_hcy.py hcy_gui.py README.md git commit -m "Initial commit: parser and GUI" git branch -M main git remote add origin https://gitee.com/<你的用户名>/<你的仓库名>.git git push -u origin main ``` 3. 若需合作者或问题管理,可在 Gitee 仓库中配置权限与 Issue。 ## 许可证 - 未设置许可证;如需开源发布,推荐添加 `MIT` 或 `Apache-2.0`。