当前位置: 首页 > news >正文

python 3.9 随机生成 以UTF-8 编码 的随机中文

理论实践

因为python3的默认编码为UTF-8,我们将‘浪’的utf8'\u6d6a'进行打印测试

print('\u6d6a')

>>浪

中文匹配范围有两种 [\u4e00-\u9fa5]和[\u2E80-\u9FFF],后者包括了日韩地区的汉字

由于utf采用16进制,则需要进行一个进制的变换,我的思路是将16进制转为10进制,采用randint对10进制数进行选取,在转回16进制,加上标识符’\u'生成汉字

我们采用第二种规则,需将2E80,9FFF进行转换

a=int('2E80',16)

print(a)

b=int('9FFF',16)

print(b)

》》11904
        40959

结果显现在11904~40959之间为汉字编码

a=randint(11904,40959)

定义一个标识符’\u'

listutf=['\\','u']

采用列表的原因有二

一是直接定义'\u'会报出

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \uXXXX escape

即utf编码不能为空

而列表可以分开定义,并且在后续的使用append更加直接

b=str(hex(a))

listutf.append(b)

c=''.join(listutf)

print (c)

结果

\u0x5930

没有提供我们所需的中文字符,因为前面多出了‘0x'的16进制标识符

采用字符串切片

b=str(hex(a))

b=b[2:]

结果

\u339e

使用json模块去储存

import json

with open('data.json', 'w') as f:

    json.dump(c, f)

with open('data.json','r')as TxtFile:

    c = json.load(TxtFile)

print (c)

输出json为

"\\u5a9f"

多了一个‘\‘符号

相关文章:

  • 基于大模型的GCSE预测与治疗优化系统技术方案
  • Ubuntu中MATLAB启动图标设置
  • Opencv计算机视觉编程攻略-第十一节 三维重建
  • 蓝桥杯—数字接龙(dfs+减枝)
  • Vue中使用antd-table组件实现数据选择、禁用、已选择禁用-demo
  • 从传统物流到智能调度的全链路升级
  • 配置GRE-tunnel隧道(思科华为)
  • 水产养殖水下监控无人机推荐-P200PRO
  • 什么是可靠性工程师?
  • C++---day7
  • Chapter 7: Compiling C++ Sources with CMake_《Modern CMake for C++》_Notes
  • unittest测试模块:Python 标准库中的单元测试利器
  • 蒙小几何-全等,相似,等值
  • 【java图形化界面编程】
  • 网易运维面试题及参考答案
  • 【天梯赛】L2_005 集合相似度(C++)
  • Apache Kafka全栈技术解析
  • STM32——DMA
  • 从火险预测到智能指挥,地理信息系统的“硬核”突围
  • AI重构农业:从“面朝黄土“到“数字原野“的产业跃迁—读中共中央 国务院印发《加快建设农业强国规划(2024-2035年)》
  • 免费网站建设排行榜/优化seo教程技术
  • 政府门户网站建设策划/上海今天发生的重大新闻
  • 计算机专业学什么好/seo主要做什么工作
  • 江苏住房和城乡建设厅网站首页/百度seo网站在线诊断
  • 石家庄网站建设电商/广州百度seo优化排名
  • 怎样做企业营销网站/seo竞价推广