找回密码
 立即注册
查看: 1478|回复: 7

汉字编码简介与点阵字库在TFT液晶屏的显示实验

[复制链接]
  • TA的每日心情
    开心
    昨天 10:10
  • 签到天数: 129 天

    [LV.7]常住居民III

    13

    主题

    52

    回帖

    1354

    积分

    金牌会员

    积分
    1354
    发表于 2023-6-21 10:14:36 | 显示全部楼层 |阅读模式
    本帖最后由 飞哥 于 2023-7-3 21:14 编辑

    01带图片的字库显示效果

    01带图片的字库显示效果


        在很多用到屏幕的单片机项目中人机交互是少不了的,而显示都需要西文、汉字显示,少则只需十几个字,多则需要大量随机汉字的支持,甚至还有多国文字需求,如果使用软字库就能很好的解决这些问题。上一个帖子 教大家制作一个带字库的模拟U盘,连接电脑后通过USB下载SPI Flash字库到开发板上的GD25Q40存储芯片中,以及字库文件的读取。有了字库文件,就不用逐个汉字单独取模和不考虑重复的问题了。首先带大家认识下各种字符编码,可了解学习,如果已有相关基础可跳到第二章。
                   
        一、字符编码相关知识
        [0. 早期编码]
        字符编码是一个非常复杂且历史悠久的系统。在计算机刚诞生的那个年代是没有办法显示汉字的,当时的编码是单字节字符集SBCS(由一个零字节结尾),由此发展出标准ASCII码(也叫基础ASCII码)和扩展ASCII码。标准ASCII码使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。受制于当时的条件,不同语言之间的ANSI码之间不能互相转换,这就会导致在多语言混合的文本中会有乱码。扩展ASCII码将每个字符的第8位用于确定附加的128个特殊符号字符、外来语字母和图形符号。不同的国家有不同的字母,导致混乱,随后出现ISO8859系列字符集进行规范。ISO8859系列字符集不是单一标准,而是一系列的标准,由16个子集组成,分别对应不同国家。属于扩展ASCII码,字符集之间无区分标志,也容易乱码。为了扩充ASCII编码,不同的国家和地区制定了不同的标准,产生了GB2312, BIG5, JIS等。这些是双字节字符集DBCS,DBCS字符串也由一个零字节结尾,也是Windows中用得最多的字符集。DBCS字符集为兼容ASCII码,用0x00~0x7f范围的1个字节来表示1个英文字符,超出一个字节的0x80~0xFFFF范围来表示其它语言的其它字符。这种使用2个字节来代表一个字符的各种字符延伸编码方式,称为ANSI编码,又称为“MBCS(Muilti-Bytes Charecter Set,多字节字符集)”,可理解为变长编码。但是不同ANSI编码之间仍然互不兼容,最终导致了unicode码的诞生。

        [1. GB2312(-1980)]
        GB2312是由中国国家标准总局1980年发布,自2017年起,该标准转化为推荐性标准,不再强制执行。GB2312字符集常被通称为国标码,每个汉字双字节。由6763个常用汉字和682个全角字符组成,不支持繁体。其中汉字根据使用的频率分为两级:一级汉字3755个,二级汉字3008个。是两字节编码,采用区位码方式编码,由94个“区”和94个“位”组成。

    分区范围                符号类型
    第01区                中文标点、数学符号以及一些特殊字符
    第02区                各种各样的数学序号
    第03区                全角西文字符
    第04区                日文平假名
    第05区                日文片假名
    第06区                希腊字母表
    第07区                俄文字母表
    第08区                中文拼音字母表
    第09区                制表符号
    第10-15区        无字符
    第16-55区        一级汉字(以拼音字母排序)
    第56-87区        二级汉字(以部首笔画排序)
    第88-94区        无字符(94*7=658)

        为了兼容ASCII编码,机内码(默认所指)高位和低位均从0xA1开始到0xFE结束。高位为0xA1~0xFE,低位为0xA1~0xFE。汉字区域,高位为0xB0-0xF7,低位为0xA1-0xFE。特殊符号,高位为0xA1-0xA9,低位为0xA1-0xFE。把十六进制的区位码加上0x2020,就得到国标码。国标码加上0x8080,就得到常用的机内码(注:现在的机内码分为GBK或者Unicode两种)。区位码与机内码的换算:
    区位码高8位 = 机内码高8位 - 0xA0
    区位码低8位 = 机内码低8位 - 0xA0

        因为GB2312不支持繁体,于是又有GB12345字符集。GB12345是与GB2312对应的国标繁体字符集,其内码与GB2312中简体汉字内码相兼容,仅字型有简、繁体的区别,GB12345在GB2312(6763汉字)的基础上扩充了103个汉字,共计6866字。对于人名、古汉语等方面出现的罕用字,GB2312/GB12345已不能处理,这导致了后来GBK及GB 18030等汉字字符集的出现。

        [2. GBK]
        GBK全称《汉字内码扩展规范》,即“国标”、“扩展”汉语拼音的第一个字母。GBK字符集向下与GB2312兼容,向上支持ISO 10646.1国际标准。ISO 10646与Unicode编码完全兼容。ISO 10646.1是该标准的第一部分《体系结构与基本多文种平面》,1993年成为国家标准(即GB13000.1等同于ISO 10646.1)。GBK编码,是在GB2312-80标准基础上的内码扩展规范,使用了双字节编码方案,其编码范围从8140至FEFE(剔除xx7F),共23940个码位,共收录了21003个汉字,完全兼容GB2312-80标准,支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字。GBK编码方案于1995年10月制定,1995年12月正式发布,目前中文版的WINDOWS都支持GBK编码方案。从GB字库扩充到GBK字库,增加了1万4千多字。是用途最广的编码之一。GBK规范收录了ISO 10646.1中的全部CJK汉字和符号,并有所补充。具体包括:
      1. GB2312 中的全部汉字、非汉字符号。
      2. GB13000.1中的其它CJK汉字。以上合计20902个GB化汉字。
      3. 《简化字总表》中未收入GB13000.1的52个汉字。
      4. 《康熙字典》及《辞海》中未收入GB13000.1的28个部首及重要构件。
      5. 13个汉字结构符。
      6. BIG-5中未被GB2312收入、但存在于GB13000.1中的139个图形符号。
      7. GB 12345 增补的6个拼音符号。
      8. 汉字“○”。
      9. GB12345增补的19个竖排标点符号(GB12345较GB2312增补竖排标点符号29个,其中10个未被 GB13000.1收入,故GBK也不收)。
      10. 从GB13000.1的CJK兼容区挑选出的21个汉字。
      11. GB13000.1收入的31个IBM OS/2专用符号。
      12.未录入《新华字典》上的一些字,如“韡”的简体。
    全部编码分为三大部分:
      1. 汉字区。包括:
        a. GB2312汉字区。即GBK/2: B0A1-F7FE。收录GB2312汉字6763个,按原顺序排列。
        b. GB13000.1扩充汉字区。包括:
        (1) GBK/3: 8140-A0FE。收录GB13000.1中的CJK汉字6080个。
        (2) GBK/4: AA40-FEA0。收录CJK汉字和增补的汉字8160个。CJK汉字在前,按UCS代码大小排列;增补的汉字(包括部首和构件)在后,按《康熙字典》的页码/字位排列。
      2. 图形符号区。包括:
        a. GB2312非汉字符号区。即GBK/1: A1A1-A9FE。其中除GB2312的符号外,还有10个小写罗马数字和GB12345增补的符号。计符号717个。
        b. GB13000.1扩充非汉字区。即GBK/5: A840-A9A0。BIG-5非汉字符号、结构符和“○”排列在此区。计符号166个。
      3. 用户自定义区:分为(1)(2)(3)三个小区。
        (1) AAA1-AFFE,码位564个。
        (2) F8A1-FEFE,码位658个。
        (3) A140-A7A0,码位672个。
    第(3)区尽管对用户开放,但限制使用,因为不排除未来在此区域增补新字符的可能性。

    GBK对字形作了如下的规定:
      1. 原则上与GB13000.1 G列(即源自中国大陆法定标准的汉字)下的字形/笔形保持一致。
      2. 在CJK汉字认同规则的总框架内,对所有的GBK编码汉字实施“无重码正形”(“GB 化”);即在不造成重码的前提下,尽量采用中国新字形。
      3. 对于超出CJK汉字认同规则的、或认同规则尚未明确规定的汉字,在GBK码位上暂安放旧字形。这样,在许多情况下GBK收入了同一汉字的新旧两种字形。
      4. 非汉字符号的字形,凡GB2312已经包括的,与GB2312保持一致;超出GB2312的部分,与GB13000.1保持一致。
      5. 带声调的拼音字母取半角形式。

    GBK编码表,见附件。

        [3. GB18030]
        GB18030是取代GBK1.0的正式国家标准。GB18030-2005与GB 2312-1980完全兼容,与GBK基本兼容,支持GB13000及Unicode的全部统一汉字,共收录CJK统一汉字 *70244个(2000标准:27533个汉字(包括部首、部件等)和常用非汉字符号,2005标准:增加了42711个汉字和多种少数民族文字)。GB18030-2000(GBK2K)在GBK的基础上增加了藏、蒙、维吾尔等少数民族的字符,GBK2K首先要求实现能够完全映射到Unicode3.0标准的所有字形。
    ●编码空间庞大,最多可定义161万个字符。
    ●包含繁体汉字以及日韩汉字
    采用多字节变长编码,每个字可以由1个、2个或4个字节组成。
    单字节,其值从0到0x7F,与ASCII编码兼容。
    双字节,第一个字节的值从0x81到0xFE,第二个字节的值从0x40到0xFE(不包括0x7F),与GBK标准基本兼容。
    四字节,第一个字节的值从0x81到0xFE,第二个字节的值从0x30到0x39,第三个字节从0x81到0xFE,第四个字节从0x30到0x39。
        现在的PC平台规定必须支持GB18030,对嵌入式产品暂不作要求。GB18030(27484汉字)前20902个汉字采用双字节内码,后6631个汉字用四字节内码。具体应用可以参考高通的字库芯片。

        [4. Big5]
    大五码(五大码),在部分地区使用的繁体中文字符集。繁体汉字13053个,808个标点符号、希腊字母及特殊符号。类似于GBK,同样使用了双字节编码方案,编码范围也是从8140至FEFE(剔除xx7F),只是编码不同,就不展开介绍。

        [5. GB13000]
        GB13000.1-1993的字符集包含20902个汉字。采用四个"八位"编码,这四个字节被用来分别表示组、平面、行和字位。由于基本多文种平面(BMP)所有字符代码的前两个字节都是0(00组00平面XX行XX字位,因此目前在默认情况下,基本多文种平面按照两字节处理。其中,CJK统一汉字和CJK统一汉字扩充A收录了GB2312和第一、三、五、七辅助集的全部汉字27484个。康熙部首和中日韩补充部首共收录汉字部首369个。此外,还收录了维哈克文(属于阿拉伯文体系)、朝鲜文、彝文、藏文和蒙古文等。其中,基本集与第二、第四辅助集是简化汉字集,第一(即GB12345)、第三、第五辅助集是繁体集,且基本集与第一、第二与第三、第四与第五辅助集分别有简、繁体字一一对应关系,(个别简、繁关系为一对多的汉字除外)。第七辅助集汉字的来源是GB13000.1的CJK统一汉字部分,为日本、韩国和台湾地区使用的汉字。七个字符集包含汉字共计约49000字(简化字和繁体字分别编码)。GB13000与Unicode标准的基本平面上保持一致。采用UTF-16方案作为未来实现01到0F共15个辅助平面的方式,其它方面也基本一致。GB13000与Unicode V1.0内码和字数完全相同,可以近似看作简化版Unicode。

        [6. Unicode相关]
        Unicode部分将会放在下一贴,关于编码的内容先介绍到这,此处略去n千字。


        二、汉字编码查询
        汉字编码多种多样,可通过网站查询:
    https://www.qqxiuzi.cn/bianma/zifuji.php


        三、如何寻址字库文件内任意汉字字模
        1. 字库文件的寻址
        512KB的GD25Q40,共有128个扇区。如果存储空间小就得精打细算了。文件的存放是以扇区为单位,从扇区开头存放,不满一个扇区也会占用一个扇区。文件存入后地址就基本固定下来,同时假设为连续文件。通过WINHEX查看GD25Q40模拟成的模拟U盘,(具体请看上一个帖子),确认文件所在地址:起始扇区为0。点击“分区1”,显示偏移(Offset)为0x0000。双击“分区1”打开分区。此时的根目录真实偏移=分区1偏移0x0000+当前显示偏移0x3000。GB2312字库偏移:0x7000,则字库物理偏移为0x0000+0x7000。
        2. GB2312汉字在字库文件中的位置
        每个GB2312字符内码由2个字节组成,高8位(也称“区字节)和低8位字节(也称“位字节”)范围均为0xA1~0xFE。GB2312字符集每个区94个码位,每个16x16汉字占用32字节。由于区位码的区、位都从0开始存储,那么就要在区位码的高位、低位分别减1。因为少数的空字符也需要占个码位,不然汉字偏移地址就不能用简单的公式计算出来了。在字库的偏移计算公式为:
    [94*(High8bit-0xA0-1)+(Low8bit-0xA0-1) ]*32
        全角空格0xA1A1是字符集的第一个字符,接下来是0xA1A2的“、”。比如汉字“啊”机内码为B0A1,是GB2312之中的第一个汉字,它的区位码就是1601。最后一个汉字为“齄”字,之后有600多个码位的保留空位没有被删除。“啊”字在字库的偏移计算:
    =[94*(0xB0-0xA0-1)+(0xA1-0xA0-1) ]*32=0xB040
    那么它所在flash存储器的真实地址为0x0000+0x7000+0xB040=0x12040
        3. 读取字模数据
        把刚才的地址放入GetGB2312Code函数,读取25系列存储器位于该地址的32字节字模数据到数组tmp[]即可。比如编码0xA1A1的全角空格" ",对应的字模数据32个字节全是0。
        4. GBK汉字在字库文件中的位置
        每个GBK字符内码也由2个字节组成,高8位字节范围为0x81~0xFE,低8位字节范围分为两部分,一部分是0x40~0x7E,另一部分是0x80~0xFE。其中与GB2312重叠的区域,字完全相同。GBK字符集共有126个区,每个区190个码位,每个16x16汉字占用32字节。由于区、位都从0开始存储,那么就要在区位码的高位、低位分别减1。GBK汉字在字库的偏移计算公式为:
        当Low8bit<0x7F时:偏移=( (High8bit-0x81)*190+ (Low8bit-0x40) )*32
        当Low8bit>0x80时:偏移=( (High8bit-0x81)*190+ (Low8bit-0x40-1) )*32

        继续以汉字“啊”为例,如果GBK字库偏移为0x7000,它所在字库的偏移=(0xB0-0x81) *190 +(0xA1-0x40) )*32 =0x48020,那么它所在flash存储器的真实地址为0x0000+0x73000+0x48020=0xBB020


        四、驱动屏幕与汉字的显示原理
        屏幕像素排列跟点阵一样,比如2.4寸分辨率320*240的TFT,横向320个像素点,竖向240个像素点,每个像素由R,G,B三个子像素组成。一个16位色彩的像素需要2字节存储,比如常见的RGB565是由红色5位、绿色6位、蓝色5位组成,也可以有其它排列顺序。0B0000000000000000(0x0000)的全0会显示黑点,0B1111111111111111(0xFFFF)的全1会显示白点,0B0000011111100000(0x07E0)显示绿色点。想点亮某个像素,只需要将那个像素点对应的16位寄存器颜色值发送给屏幕内集成的驱动IC,屏幕驱动IC就会去点亮与刷新相应像素点。字符的显示是把字模数据的各个位当作各个像素,1表示字符使用前景色,0表示使用背景色。如果设置为透明,那么0就不绘制保持上次绘制屏幕时的颜色。驱动TFT彩屏的步骤为:上电/复位后进行驱动IC初始化,清屏,设定横屏或竖屏方向,设定绘制区域起止坐标,在该区域内依次填入各像素的值。后续做图片实验的原理也相同。如果只是绘制单一像素点,就把绘制区域设置为x的起止坐标一样,y的起止坐标也一样。


        五、字库文件结构与制作
        汉字的字模数据在电脑上基本是矢量形式存于字体文件里,可以任意缩放,但是单片机的空间和处理能力有限,采用点阵的形式更实用些。这样就需要用取模软件把汉字取模转换成固定分辨率的点阵汉字,由字模数据依次排列存放形成字库文件。在各种文本文件里面的字符串不是以点阵数据的形式存储,而是以内码的形式存储。不同的字符集,内码也不一定一致。根据编码规则从字库文件里寻址读出对应地址的后续32个字节字模数据,用于转换后在液晶上显示。一个16*16点阵汉字的字模数据占用16*16/8=32字节。取模分为少量、单个汉字取模和批量取模生成字库文件。所以只要我们有了整个汉字库的字模数据,就可以把任意文本内容通过单片机在屏幕上显示出来了。
        1. 单个汉字取模
        使用“字模3”v3.91版软件进行单个汉字取模生成数组,以管理员模式运行它。只要电脑里字体文件的字能显示,它都能取模。单个16x16汉字的取模:在“字符输入”中输入单个汉字“啊”字,选择字体为"宋体","小四";常规设置为“没有注释”,字模数组自动命名,字模格式为“单色点阵液晶字模,横向取模, 字节正序”,文本格式为C语言;图形设置里自动更新改动的图形文件。固定字体16x16大小,点击“生成当前图形的单个字模”,把字模数据粘贴到数组“code typFNT_GB16 tfont16[]”里,按照格式增加“啊”字当索引,如下:
    code typFNT_GB16 tfont16[]=
    {
    "啊",0x00,0x00,0x0E,0xFC,0xEA,0x08,0xAA,0x08,0xAA,0xE8,0xAA,0xA8,0xAC,0xA8,0xAA,0xA8,
    0xAA,0xA8,0xAA,0xA8,0xEA,0xE8,0xAA,0xA8,0x0C,0x08,0x08,0x08,0x08,0x28,0x08,0x10,
    //其它字模数据。。。
    };

    02字模3单个汉字取模设置

    02字模3单个汉字取模设置

    字模3单个汉字取模设置

        如果是多个少量汉字的取模就是以上单个取模的重复复制粘贴,只不过要先把所有的汉字整理一下清除重复的字,每个字都加一个汉字内码的索引。字如果太多就非常麻烦了,也会占用单片机存储空间,如果制作成字库文件,放在外置flash存储芯片就省事了。

        2. 批量取模生成GB2312字库文件
        同样使用“字模3”软件。批量取模设置:点击“自动批量生成字库”,导入txt格式的字库字符集文件,点击“字库智能生成”。选择居中对齐,BIN文件格式,不自动计算字模宽和高(固定16x16)以及字体。然后开始转换进程就能自动批量取模了,生成一个font.dat文件。由于未使用文件系统,字库文件名以及后缀名都可以随意。取模压缩包中包含两个不同GB2312字库文件,大小都是282752字节(=8836个码位*32字节)。由取模软件生成的字库文件和硬件SPI字库的用法是一样的,这里就不讲了。

    03字模3批量汉字取模设置

    03字模3批量汉字取模设置

    字模3批量汉字取模设置

        3. GBK字库的制作
        如果存储空间足够,建议制作GBK字库代替GB2312字库。用GBK的字符集文件去生成即可,制作方式同上。这里我把一块实验箱的GD25Q40换成了W25Q64,于是就放得下GBK字库和后续实验的文件了。GBK字库文件,共23940个码位,大小=23940*32=766080字节。已制作好的字库文件、取模软件和GBK显示代码见附件。


        六、程序实现效果
        这里以GB2312为例进行演示,GBK编码的演示类似。这里演示使用的是STC8H8K64U实验箱,使用2.4寸ILI9341 TFT 8位并口屏幕。通过USB口把字库烧入Flash过程:
        先把HEX固件下载到STC单片机,IRC频率24MHZ。接着按照上一个帖子制作好带字库的模拟U盘,或者按下P3.3按键进入U盘模式,连接电脑后打开电脑的资源管理器,把我们生成的字库文件复制粘贴到那个512KB的小“U盘”中,等待十几秒钟字库便烧入完成。

    04TFT显示连接电脑

    04TFT显示连接电脑

    TFT显示连接电脑

    058M电脑U盘文件夹内容

    058M电脑U盘文件夹内容


    8M电脑U盘文件夹内容

        然后确定好文件所在地址,把程序里对应的地址修改好,重新编译后就可以给单片机下载和显示汉字了。好几次发现里面文件全删掉再拷入字库文件,其地址还是上次的,不知道是否是特例。
        按键功能说明:
        RST复位键--如果在ISP里不选择“复位脚用作I/O口”,下次按下就可以复位并进入ISP模式,方便随时验证代码。
        INT0(P3.2)按键--与电源按键组合实现进入ISP模式。
        INT1(P3.3)按键--画面出现提示时按下进入U盘模式。
        ON/OFF电源按键--冷启动用

    068.3版本实验箱显示效果

    068.3版本实验箱显示效果

        再附上最早的8.3版本实验箱显示效果

        中文GB2312、GBK汉字的显示采取读取SPI NAND flash实现,半角字符ASCII码仍使用之前的软件取模生成的代码数组,以避免字库读取异常时无显示。另外,超出字符集的字会显示一个方框“□”。调用SPI_ShowStr函数或者SPI_StrCenter函数显示字符串,显示的字符串会根据mode参数产生叠加(透明)与覆盖的效果。目前有一个小BUG,就是对TFT的操作会影响到P7口,大家可自行改进。附件为GB2312、GBK汉字SPI读取显示实验的源码以及对应中文字库。
        Unicode字符的显示更复杂,原本计划在一个帖子里弄完,看来行不通,得单独开新帖了。本贴结束,修整数日再战Unicode。



    字模3安装包 编码表与字符集.rar

    30.98 MB, 下载次数: 98

    SPI25系列GB2312字库TFT9341显示 带字库文件.rar

    407.54 KB, 下载次数: 75

    SPI25系列GBK字库TFT9341显示 模拟U盘.rar

    646.89 KB, 下载次数: 75

    2 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
    回复 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9345

    回帖

    1万

    积分

    管理员

    积分
    13918
    发表于 2023-7-3 22:55:25 | 显示全部楼层

    屏好像是他们家的
    https://KCER001.taobao.com
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    6 小时前
  • 签到天数: 129 天

    [LV.7]常住居民III

    1

    主题

    106

    回帖

    1861

    积分

    金牌会员

    积分
    1861
    发表于 2023-7-3 23:05:54 | 显示全部楼层
    牛叉
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 10:10
  • 签到天数: 129 天

    [LV.7]常住居民III

    13

    主题

    52

    回帖

    1354

    积分

    金牌会员

    积分
    1354
     楼主| 发表于 2023-8-25 09:41:46 | 显示全部楼层
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-2-8 07:37
  • 签到天数: 44 天

    [LV.5]常住居民I

    9

    主题

    32

    回帖

    349

    积分

    中级会员

    积分
    349
    发表于 2023-10-28 19:50:40 | 显示全部楼层
    以前买了两个屏还没点亮过 2.4.png
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    550

    主题

    9345

    回帖

    1万

    积分

    管理员

    积分
    13918
    发表于 2023-10-28 22:25:58 | 显示全部楼层
    继续努力
    回复 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    6 小时前
  • 签到天数: 152 天

    [LV.7]常住居民III

    8

    主题

    78

    回帖

    1030

    积分

    金牌会员

    积分
    1030
    发表于 2023-12-1 15:34:47 | 显示全部楼层
    caishifu 发表于 2023-10-28 19:50
    以前买了两个屏还没点亮过

    很容易就点亮了,SD 卡,还没用,抽空试试
    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:40
  • 签到天数: 139 天

    [LV.7]常住居民III

    2

    主题

    89

    回帖

    586

    积分

    高级会员

    积分
    586
    发表于 2023-12-1 15:55:09 来自手机 | 显示全部楼层
    厉害👍
    回复 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-8 14:42 , Processed in 0.077840 second(s), 60 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表