处理字符编码:uft-8

本文详细解释了ObsStudio中用于处理UTF-8编码的代码片段,展示了如何根据字节序列确定Unicode字符的高字节部分,处理不同长度的多字节编码情况。
摘要由CSDN通过智能技术生成

 

#define _SEQ2 0xc0
#define _SEQ3 0xe0
#define _SEQ4 0xf0
#define _SEQ5 0xf8
#define _SEQ6 0xfc
if ((*p & 0x80) == 0)//当*p小于0x80时,&结果为0.utf-8单个字节有效范围在7F.
			high = (wchar_t)*p;
		else if ((*p & 0xe0) == _SEQ2) {//0xe0:11100000,_SEQ2:11000000,*p如果是110xxxxx的话,&结果就等于_SEQ2.
			n = 2;
			high = (wchar_t)(*p & 0x1f);//0x1f:0001 1111,获取unicode码有效位。这是高位。
		} else if ((*p & 0xf0) == _SEQ3) {
			n = 3;
			high = (wchar_t)(*p & 0x0f);
		} else if ((*p & 0xf8) == _SEQ4) {
			n = 4;
			high = (wchar_t)(*p & 0x07);
		} else if ((*p & 0xfc) == _SEQ5) {
			n = 5;
			high = (wchar_t)(*p & 0x03);
		} else if ((*p & 0xfe) == _SEQ6) {
			n = 6;
			high = (wchar_t)(*p & 0x01);

obsstudio

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值