字符编码(十六进制)

题目描述

假设一个简易的变长编码规则XUTF:每个字符有一个唯一编号值 unicodeVal(如汉字“华”的编号十进制值是21326),使用1~6个字节进行编码,编码规则如下:
编码格式:

编号值范围 编码后字节长度n 二进制格式(x 表示有效位,其它为固定位)
[0, 2^7) 1字节 1xxxxxxx
[2^7, 2^11) 2字节 001xxxxx 01xxxxxx
[2^11, 2^16) 3字节 0001xxxx 01xxxxxx 01xxxxxx
[2^16, 2^21) 4字节 00001xxx 01xxxxxx 01xxxxxx 01xxxxxx
[2^21, 2^26) 5字节 000001xx 01xxxxxx 01xxxxxx 01xxxxxx 01xxxxxx
[2^26, 2^31) 6字节 0000001x 01xxxxxx 01xxxxxx 01xxxxxx 01xxxxxx 01xxxxxx
单字节字符 (即 n = 1):字节的第一位(bit)为 1 ,其余位为有效位。
多字节字符 (即 n > 1):第一个字节的前 n 位都为 0,第 n+1 位为 1,后面字节的前两位都为 01,其余位为有效位。

编码过程:参考编号值范围,根据 unicodeVal 值判断需要几个字节进行编码,然后依次把 unicodeVal 的二进制比特填充到二进制格式中的有效位上:右侧对齐、左侧补 0 ;注意:固定位不变。
现给定某个字符的十进制编号值 unicodeVal,请按XUTF编码规则对该字符进行编码,输出编码后的十六进制字符串(大写)。

解答要求

时间限制:1000ms, 内存限制:256MB

输入

一个十进制整数 unicodeVal,表示某字符的编号值,0 <= unicodeVal < 2^31

输出

一个十六进制字符串,表示该字符的XUTF编码
仅由字符0~9 和 A~F组成,每个长度范围为[2,12]且为偶数(长度奇数时前面补充一个前导字符0)

样例

输入样例 1

21326

输出样例 1

154D4E

提示样例 1

字符编号值 21326 按XUTF编码表示范围,需要3个字节; 把21326的二进制101001101001110比特依次填充到有效位:填充时右侧对齐,左侧有1个有效位未填充,补为 0,示意如下图:
1
转换为十六进制为154D4E

输入样例 2

34

输出样例 2

A2

提示样例 2

编号值34的二进制为 100010,需要一个字节,编码后二进制为 10100010,十六进制为 A2

输入样例 3

1225859

输出样例 3

0C6B5243

提示样例 3

编码后的十六进制字符串,长度为奇数,因此前面补充一个前导字符 0

Java算法源码

import java.nio.charset.StandardCharsets;
import java.util.Scanner;

public class Main {
   
    public static void main(String[] args) {
   
        Scanner sc = new Scanner(System.in, StandardCharsets.UTF_8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/623415.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python数据分析——时间序列

时间序列 前言一、Datetime 模块常用函数和数据结构的详细解释datetime模块示例一示例二 二、时间运算示例一示例二示例三 三、时间序列分析自回归(Autoregressive model/AR)模型示例 滑动平均(moving average model/MA)模型示例 自回归滑动平均(Autoregressive moving average…

✬✬✬宁波iso14001认证:环境保护的“绿色光环”加持✬✬✬

&#x1f352;宁波iso14001认证&#xff1a;&#x1f497;环境保护的“绿色光环”加持&#x1f335; &#x1f353;说到环境保护&#xff0c;&#x1f602;我可是满满的热情啊&#xff01;⌚最近&#xff0c;我们公司成功&#x1f688;获得了ISO14001认证&#xff0c;&#x1f…

二叉树的存储结构介绍

概述 顺序存储 存储状态 存储表示 示例 缺点 链式存储 存储状态 存储表示 示例 指针域计算 空指针域数目总指针数-存储边的指针域总数-边数(n-1条边)n1个 三叉链表存储 因为根结点无双亲 空指针域数目总数-存储孩子的边数-存储双亲的边数3*n-2*(n-1)n2个

海外客户开发渠道有哪些

海外客户开发是一个多元化的过程&#xff0c;涉及线上与线下多个渠道。以下是一些有效的海外客户开发渠道&#xff1a; 平台电商&#xff1a; 利用国际B2B电商平台&#xff0c;如阿里巴巴国际站、 Globalsources、Made-in-China等&#xff0c;这些平台拥有庞大的国际买家流量&a…

在博弈中寻找机会:利用已知信息撬动更多有利信息

在人生的道路上&#xff0c;我们都在参与一场巨大的博弈&#xff0c;无论是职场竞争、商业战争还是人际关系&#xff0c;都需要我们利用已知信息去撬动更多有利的信息&#xff0c;以便在变数中寻找机会。这场博弈既充满挑战&#xff0c;又蕴含着无限可能。 博弈的本质是竞争和合…

SQL Server中怎么排查死锁问题

一、背景 我们在UAT环境压测的时候&#xff0c;遇到了如下的死锁异常。 Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 82) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Re…

【Arduino】数字I/O的使用

目录 1、引脚工作模式 2、写入引脚digitaWrite&#xff08;&#xff09; 3、读取引脚digitalRead(pin); 4、示例 跑马灯 1、引脚工作模式 Arduino通过pinMode()设置引脚的io工作模式&#xff0c;一共有4种模式 工作模式 Mode 说明 输出模式 OUTPUT 引脚为低阻抗状态&…

如文所示:

影响 ConnectWise 的 ScreenConnect 远程桌面访问产品的严重漏洞已被广泛利用来传播勒索软件和其他类型的恶意软件。 ConnectWise 于 2 月 19 日通知客户&#xff0c;它已发布针对关键身份验证绕过缺陷和高严重性路径遍历问题的补丁。该安全漏洞当时没有 CVE 标识符。第二天&am…

【Docker与Termux】闲置旧安卓手机上的NAS无缝部署方案

最近有了新手机,旧手机也闲置了,由于之前一直在寻找平价的NAS替代方案,旧手机在抽屉躺了N天后,我决定让它重新焕发光彩,努力工作,继续拉磨。 这个时代的旧手机可以满足NAS的基本配置需求,内存、硬盘、内置电源、WIFI模块、快速接口,简直是理想中的NAS形态,但是散热、R…

程序员学CFA——经济学

经济学 需求和供给分析消费者需求分析需求的相关概念需求需求定律需求函数需求曲线消费者剩余 需求弹性需求的自身价格弹性需求的交叉价格弹性需求的收入弹性 替代效应与收入效应替代效应收入效应替代效应和收入效应的综合作用 需求定律的例外 生产商供给分析供给分析的基本概念…

计算机发展史故事【14】

大象踢踏舞 如果要把电脑50 年的历史划分为两个不同的阶段&#xff0c;那么&#xff0c;1981 年无疑是个分界线。就在那一年&#xff0c;IBM 公司推出个人电脑PC 机&#xff0c;使人类社会大步跨进个人电脑新时代。今天&#xff0c;全世界正在使用的PC 机已达到2 亿台&#xf…

python爬虫(五)之新出行汽车爬虫

python爬虫&#xff08;五&#xff09;之新出行汽车爬虫 接完最后一单&#xff0c;终于肝完了最后一个python爬虫——新出行爬虫&#xff0c;将https://www.xchuxing.com网站上所有的汽车爬虫全部抓取下来。 import requests import json import csv from lxml import etree …

【HarmonyOS】综合应用-《校园通》

概念 本文结合之前的笔记文章知识点&#xff0c;做一个综合性的小应用。 创建一个ArkTS语言的鸿蒙项目&#xff0c;搭建首页面 其界面代码如下&#xff0c;该界面使用了垂直布局&#xff0c;相对布局&#xff0c;轮播布局&#xff0c;以及图片&#xff0c;文本等组件的综合运…

ubuntu22.04服务器docker-compose方式部署ldap服务

一&#xff1a;系统版本 二&#xff1a;部署环境 节点名称 IP 部署组件及版本 配置文件路径 机器CPU 机器内存 机器存储 Ldap 10.10.10.111 self-service-password:latest phpldapadmin:latest openldap:latest openldap:/data/openldap/config phpldapadmin&#x…

初识C++ · string的使用(1)

目录 1 STL简介 2 string类 2.1 构造 析构 拷贝 2.2 size length 2.3 [ ]的使用 2.4 迭代器 2.5 Push_Back和append 3 sort的使用 1 STL简介 STL是一个标准库&#xff0c;是C标准库的一个重要部分&#xff0c;那么什么是STL&#xff1f;STL是一个模板库&#xff0c;包…

Sass终极指南:从基础到高级,打造高效、可维护的CSS代码!

在现代网页开发中&#xff0c;CSS预处理器已经成为提高样式表维护性和可扩展性的重要工具。Sass&#xff08;Syntactically Awesome Style Sheets&#xff09;是其中最受欢迎的预处理器之一。本文将全面详细地介绍Sass&#xff0c;包括其基本介绍、主要作用、使用方法及注意事项…

2024年NOC大赛创客智慧(西瓜创客)Python复赛编程真题模拟试卷包含答案

NOC复赛python模拟题 1.编写一个程序&#xff0c;提示用户输人一个矩形的长度和宽度&#xff0c;并输出其面积, 2.试计算在区间 1 到 n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如在 1到11 中&#xff0c;即在 1,2,3.45,6.7,8.9,10,11 中&#xff0c;数字 1出现了 4 次.…

工程师工具箱系列(3)Arthas

文章目录 工程师工具箱系列&#xff08;3&#xff09;Arthas安装与准备Arthas插件使用场景查看某个变量值ognl方式调用Bean方法tt(TimeTunel)方式调用Bean的方法ognl调用带参数方法 资源总览 工程师工具箱系列&#xff08;3&#xff09;Arthas Java诊断利器 安装与准备 window…

大厂常见算法50题-两数相加

专栏持续更新50道算法题&#xff0c;都是大厂高频算法题&#xff0c;建议关注, 一起巧‘背’算法! 文章目录 题目解法总结 题目 解法 定义一个节点pre&#xff0c;用于初始化结果链表的头部&#xff0c;cur指向pre&#xff0c;它将在遍历过程中用于构建新的链表。初始化进位变…

微服务部署不迷茫:4大部署模式深度解析,轻松驾驭云原生时代

微服务部署最全详解(4种常见部署模式) 微服务多实例部署 每个微服务都独立部署在自己的运行环境中&#xff0c;这是微服务架构的核心思想。 一般会采用每个主机多个服务实例&#xff0c;如下所示&#xff1a; 这是一种传统的应用部署方法&#xff0c;每个服务实例在一个或多个…