字符集与编码系列:Unicode字符集

本文介绍了Unicode字符集的基本概念,包括字符集、码表和编码方式。Unicode旨在统一全球字符,起初用2个字节表示,后来扩展到3个字节以容纳更多字符。字符集被划分为17个平面,其中BMP平面包含大部分常用文字,如汉字。此外,还提到了Unicode的块概念,用于组织和分配字符。Java默认使用Unicode字符集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本概念

 

1.字符集:要想在计算机中显示文字,必须把文字都收集起来放在一个表中,这个表叫字符集(Charset)。

2.码表:字符集中的每个文字,都分配一个数字号码,这叫码表(Code chart)。比如中文 ‘霸’字,在码表中对应的码是38712(十进制),或者9738(十六进制)。

3.编码方式:有了码表,就需要确定哪些文字用几个字节表示,以及如果有多个字节代表一个字,字节的读取顺序,这些就是字符编码方式(Encoding)。

虽然为了严谨起见,上面我把字符集和码表分开说明,但实际上很多字符集也给每个字符分配了一个码(Code Point),所以很多人经常也把字符集叫做码表、码表叫做字符集。

Unicode

目前国际通用的字符集叫Unicode(又叫万国码、统一码),全世界所有民族地区的文字基本都包含在里面。它的出现是为了解决世界各地用不同的一套字符集,然后计算机软件无法兼容共用的问题,造福了软件开发者,也方便了用户。下图就是Unicode字符集中汉字(CJK)码表的样子,每个汉字都有个号码,比如4E00就是一的号码。

 

 

Java语言默认就使用Unicode字符集。

Unicode字符集把全世界主要文字都包括进来,刚开始每个字符用2个字节来表示,值范围0x0000~0xFFFF,共可以表示65536个字符。

后来2个字节发现不够用,比如生僻字、网络流行的电子表情符号emoji等,因此Unicode字符集不停地扩充,字符集越来越庞大,现在的Unicode字符集的编码空间扩充到3个字节,最大值为0x10FFFF,某些新字符需要3个字节才能表示。

 平面(Plane)和块(Block)

Unicode扩充之后,为了便于描述和统一分配,就有了一个新的概念:平面(Plane)。除了之前的FFFF两个低字节用来表示字符的码,第三个字节的值用来表示平面编号。比如Unicode码0x10FFFF中的0x10,就是平面编号,因此,现在的Unicode有0-16共17个平面,每个平面可以容纳FFFF个文字,所以:

理论上Unicode容纳的字符数量0x10FFFF = 平面数量 × 每平面容量 = 17 × 65536 = 1114112个

平面又包含了块(Block)的概念,一个块就是一个字节的空间,最多能表示256个字符。一个平面是2个字节的空间,最大FFFF,低位的FF是一个块,高位的FF用来作为块的编号。所以:

理论上一个平面字符数量 = FF个块 × 每个块FF个字符 = 256 ×256 = 65536个字符

BMP平面

Unicode最重要、最常用的平面是第一个平面,简称BMP(Basic Multilingual Plane ),编号为0,其实也就是最早的那65535个文字,其中已经包含了世界各民族的常用文字。其中,汉字(CJK)是占空间最多的,下图浅红色从34一直到9F共107个块,每个块又能表示256个字符,所以

理论上BMP平面包含汉字数量 = 107 × 256 = 27392个

 平面总体使用情况

目前0~16共17个平面的字符分配范围如下表。可以看到,平面4-13是空闲的,暂未分配任何字符。平面14~16是特殊平面和私有平面。

除了第0个平面BMP,平面1、2、3也已经扩展了不少字符。汉字除了在平面0霸榜,在平面2和3再次“包场”,这两个平面基本都是新补充进来的汉字生僻字。

 关于Unicode字符集的知识,先介绍到这里,下一篇讲Unicode和Java中的char类型。

 Unicode权威资料传送门:

        官网用户主页:Unicode官网 

        官网技术主页:Unicode Standard 

        目前最新版本是2021年9月发布的14.0版:Unicode 14.0.0

        最新版码表:Unicode 14.0 Character Code Charts

<think>嗯,用户让我帮忙写Stable Diffusion的正向和反向提示词,专门用来生成“吾皇万睡”这个IP的内容。首先,我需要确认一下“吾皇万睡”是什么。我记得这是一个很受欢迎的卡通形象,主角是一只胖胖的猫咪,还有一只叫巴扎黑的小狗,对吧?它们的画风通常是简洁的线条,带有幽默和温馨的感觉,颜色比较明亮,场景也多是日常生活中的搞笑情景。 接下来,用户可能需要的是生成符合这个IP风格的图片,所以正向提示词要包括角色特征、画风、颜色、背景等元素。可能还要考虑是否需要特定的姿势或表情,比如猫咪的傲娇样子,或者和巴扎黑的互动。反向提示词的话,应该排除不符合风格的元素,比如低质量、写实风格、复杂背景等。 用户可能没有明确说,但可能需要提示词足够具体,同时又有一定的灵活性,让Stable Diffusion能够生成多样化的图片。此外,可能还需要考虑光照、渲染效果,比如柔和的阴影或者卡通渲染,来贴近原作的风格。还有可能需要避免一些常见的错误,比如变形的手脚,不协调的比例,这在反向提示词里应该提到。 另外,用户可能对技术细节不太熟悉,所以需要解释每个部分的作用,比如为什么加入“高对比度”或“简洁线条”,以及反向提示词中为什么排除某些元素。这样用户在使用时可以根据需要调整参数,比如调整权重或者添加细节。 还要考虑到用户可能希望生成不同场景的图片,比如室内、室外,或者特定的节日主题,所以在正向提示词里可以加入变量,比如“在沙发上”、“在花园里”等,并建议用户根据需要替换。同时,反向提示词中的“复杂纹理”或“混乱背景”有助于保持画面简洁,符合原IP风格。 最后,需要提醒用户可能需要多次尝试,调整提示词和参数,比如采样步骤、CFG值等,才能达到最佳效果。可能还需要注意版权问题,确保生成的图片符合“吾皇万睡”的使用规范,如果有商用需求的话,可能需要官方授权。</think>以下是针对**吾皇万睡**IP风格设计的Stable Diffusion提示词模板,结合了该IP的萌系画风、角色特征和场景特点: --- ### **正向提示词(Positive Prompts)** ``` (masterpiece, best quality), 1.5岁中国短毛猫, 肥胖体型, 傲娇表情, 圆润大眼睛, (巴扎黑小狗:1.2), 扁平卡通画风, 简洁线条, 高明度色彩, 柔和的阴影, 浅色背景, 日常生活场景, [场景描述: 在沙发上/在纸箱里/偷吃小鱼干], 幽默治愈氛围, 高对比度轮廓, 二次元渲染, 手绘质感, 干净构图, IP风格一致性 ``` **可替换/扩展项** - 场景:`办公室捣乱`/`阳台晒太阳`/`与巴扎黑抢食` - 动作:`歪头杀`/`翻白眼`/`伸懒腰` - 细节:`毛绒质感`/`肉垫特写`/`蝴蝶结项圈` --- ### **反向提示词(Negative Prompts)** ``` (worst quality, low quality:1.4), 写实风格, 复杂背景, 暗黑系, 恐怖元素, 畸形肢体, 多余手指, 文字水印, 噪点模糊, 过度渲染, 血腥暴力, (3D模型:1.3), 赛博朋克, 机械结构, 复杂纹理, 真人照片, 抽象艺术 ``` --- ### **关键参数建议**(需根据模型调整) - **采样器**:DPM++ 2M Karras 或 Euler a - **步数**:25-35步 - **分辨率**:建议768x768(保持IP简洁画风) - **CFG Scale**:7-9(避免过度锐化) - **推荐模型**:国风动模型(如ChinaDollLikeness_v30)或扁平插画专用模型 --- ### **注意事项** 1. 可添加`--no [毛色杂乱]`强化标志性虎斑纹 2. 若需强调IP商业属性,可加入`周边设计感`、`可印刷矢量风` 3. 推荐使用LoRA控制角色一致性(需提前训练角色特征) 需要生成特定场景案例(如春节/万圣节主题)可补充说明,可提供更细化的提示词组合~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六吨代码

肝到半夜了,赏五毛行不?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值