/**
* 定义一个方法:按照最大的字节数来取子串 如对于“ab你好”,如果取3个字节那么子串就是ab加半个你,那么这个你字就要省略
* @throws IOException
*/
public static void main(String[] args) throws IOException {
String s = "ab你好dd";
for (int i = 0; i < s.length(); i++) {
String str = getSubstring(s, i + 1);
System.out.println("截取" + (i + 1) + "个字节得到的子串是:" + str);
}
}
public static String getSubstring(String s, int len) throws IOException {
//首先获得这个字符串的字节数组
byte[] bys = s.getBytes("GBK");
int count = 0;
for (int i = len - 1; i >= 0; i--) {
//因为中文的字节的最高位都是1,所以都是负数的
//从最后一位开始判断,如果是正数,那么这个子串可以取
if (bys[i] > 0)
break;
//如果是负数,那么需要记录下连续负数的次数,如果是奇数,则取的字节数需要减一,如果是偶数,则不需要改变字节数
count++;
}
if (count % 2 == 0)
return new String(bys, 0, len, "GBK");
else
return new String(bys, 0, len - 1, "GBK");
}
相关推荐
MAX31865三线PT100测温实战:配置、接线与代码全解析
本文详细解析MAX31865三线PT100测温的配置、接线与代码实现。通过实战经验分享,介绍如何利用MAX31865芯片实现高精度温度测量,重点讲解三线制接法的自动误差补偿功能,并提供完整的寄存器配置、SPI通信和温度转换算法,帮助开发者快速解决工业测温中的常见问题。
Java---练习(面试题) :字符串截取(2-最终版)
在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符。 但对应的字节数不同,一个汉字占两个字节。 定义一个方法,按照指定的字节数来取子串。 如:对于“ab你好”,如果取三个字节,那么子串就是ab与“你”字的半个,那么半个就要舍弃。如果取四个字节就是“ab你”,取五个字节还是“ab你”。上面给出的是在gbk编码下的截取字符串。 下面我写了个代码,可以在utf-
C#图表开发避坑指南:Chart控件的Series和Points属性详解
本文深入解析C#图表开发中Chart控件的Series和Points核心属性,提供避坑指南。详细阐述了Series的数据序列管理、Points的高效操作与空值处理,以及多Series与ChartArea的协同配置,帮助开发者避免常见错误,实现稳定、高性能的数据可视化应用。
最大字节数取子串
import java.io.UnsupportedEncodingException;/* * 定义一个方法,按照最大的字节数来取子串。 * 如:对于“ab你好”,如果取三个字节,那么子串就是ab与“你”字的 * 半个,那么半个就要舍弃。如果取四个字节就是“ab你” * ,取五个字节还是“ab你”。 * */public class TestCode { public sta
Ubuntu 22.04 LTS下Xenomai 3.3实时内核配置全攻略(附常见错误排查)
本文详细介绍了在Ubuntu 22.04 LTS系统上配置Xenomai 3.3实时内核的完整流程,包括环境准备、内核补丁应用、编译优化及常见错误排查。特别针对工业自动化和机器人控制场景,提供了性能优化建议和故障解决方案,帮助开发者实现毫秒级精度的实时任务处理。
xhs私信协议分析
之前分析过xhs的shield算法,今天再聊聊xhs的私信,文章仅供学习参考研究交流,如有侵权请联系删帖。经过抓包分析发现私信接口并不是走的http协议,而是socket协议。而要获取socket包则需要使用wireshark软件1、protobuf的包体中的序号7,多次验证后发现文字信息的需要需要固定成12、protobuf的包体中的序号12,多次验证后发现文字信息的需要需要固定成1后续有时间的话,再研究一下视频和图片格式的私信协议,这次就分析到这里吧。
截取字符串中带汉字的字符串,按照字节进行截取
package test; /** 在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符。 但对应的字节数不同,一个汉字占两个字节。 定义一个方法,按照最大的字节数来取子串。 如:对于“ab你好”,如果取三个字节,那么子串就是ab与“你”字的半个, 那么半个就要舍弃。如果去四个字节就是“ab你”,取五个字节还是“ab你”. 思路: 首先要知道汉字是由连个字节所组成。而且这...
【目标跟踪】ECO算法论文阅读:ECO: Efficient Convolution Operators for Tracking
这里所指的训练集是指保存了每一帧的跟踪结果的训练集,也就是说,每一次进行model update的时候,要用在这一帧之前所有跟踪到的样本。那么随着视频越来越长,这个训练集就会越来越大。因为当目标被遮挡或者丢失的时候,比较新的这些样本本身就是错的,那么模型很容易有model drift,就是被背景或者错误的目标污染,导致跟踪结果出错。如下图所示,Baseline是传统的训练集,每更新一帧就加一个进来,那么连续的数帧后训练集里面的样本都是高度相似的,即容易遗忘前面的样本,且容易对最近的若干帧样本过拟合。
一道字符串的练习题
题目要求:在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符。但对应的字节数不同,一个汉字占两个字节。定义一个方法,按照最大的字节数来取子串。如:对于“ab你好”,如果取三个字节,那么子串就是ab与“你”字的半个,那么半个就要舍弃。如果去四个字节就是“ab你”,取五个字节还是“ab你”. public class Exercise02 { p
保姆级教程:从WOS下载文献到Citespace出图,手把手搞定科研可视化(附避坑指南)
本文提供从WOS下载文献到Citespace出图的完整科研可视化指南,涵盖数据采集、清洗、环境配置和可视化优化全流程。特别分享WOS检索技巧、数据清洗方法和Citespace参数设置,帮助科研新手高效生成专业图谱,避开常见技术陷阱。
【WebApi + Sqlserver】 使用C#编写WebApi并打开sqlserver数据库进行访问,代码适用于简单练习,真实开发需自行完善
【WebApi + Sqlserver】 使用C#编写WebApi并打开sqlserver数据库进行访问,代码适用于简单练习,真实开发需自行完善
oracle 左取,oracle 取子串(转)
SUBSTRING返回字符、binary、text 或 image 表达式的一部分。有关可与该函数一起使用的有效Microsoft® SQL Server? 数据类型的更多信息,请参见数据类型。语法SUBSTRING ( expression , start , length ...
在 ABAP CDS View 里把 Conversion Functions 用到极致:FLTP 精度、单位换算、货币换算与小数位处理的工程化实践
数据格式转换在真实项目中比业务逻辑更容易引发问题。ABAP CDS中的转换函数(如FLTP_TO_DEC、UNIT_CONVERSION、CURRENCY_CONVERSION和DECIMAL_SHIFT)可帮助在数据库层统一数据口径,避免应用层重复处理。这些函数支持数值精度治理、单位换算、货币转换和小数位调整,能显著提升报表性能并减少逻辑分散。通过将格式转换前移到数据模型层,可以确保服务层和UI层的数据一致性,同时降低接口传输错误风险。
mysql获取两个字符串最大值_Mysql获得两个字符串中最大相同子串
length:返回字符串所占的字节数,是计算字段的长度。utf8编码下,一个汉字是算三个字符,一个数字或字母算一个字符。其他编码下,一个汉字算两个字符, 一个数字或字母算一个字符。char_length:返回字符串所占的字符数,不管汉字还是数字或者是字母都算是一个字符DELIMITER $$CREATE DEFINER=`testuser`@`%` PROCEDURE `getMaxSubStrP...
visio安装包
Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
Mysql获得两个字符串中最大相同子串
length:返回字符串所占的字节数,是计算字段的长度。utf8编码下,一个汉字是算三个字符,一个数字或字母算一个字符。其他编码下,一个汉字算两个字符, 一个数字或字母算一个字符。 char_length:返回字符串所占的字...
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
笔试题目:最大字段和+编写一个截取字符串的函数
题目描述: 一个数组有N个元素,求连续组数组的最大和,例如:-1,2,1,和最大的连续子数组为2,1,其和为3. 样例输入: -1,2,1 样例输出: 3 难点: 1、最大字段和本身怎么求 2、不允许使用本地编译器,许多方法不熟练时间来不及,尤其是字符串转int[]数组,花费了大量时间 package test_420; import java.util.Scanner; ...
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
java基础知识回顾之---java String final类普通方法的应用之“按照字节截取字符串”...
/*需求:在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符。但对应的字节数不同,一个汉字占两个字节。定义一个方法,按照最大的字节数来取子串。如:对于“ab你好”,如果取三个字节,那么子串就是ab与“你”字的半个,那么半个就要舍弃。如果去四个字节就是“ab你”,取五个字节还是“ab你”.*/ 代码:其实是一个解码和编码的问题,要明白UTF-8码表和GBK码表...
Lua utf8中文字符个数和子串截取
note 目录 utf8 字符规律 utf8 中文字符的大小(占多少个字节) utf8 字符串的长度 utf8 获取字符串的子串 测试example 1: utf8 字符规律字符串的首个byte表示了该utf8字符的长度 utf8单个字符可以有4种字节来存储:1个字节,2个字节,3个字节,4个字节。 如果第一个一个字节的第一位为0,那么代表当前字符为单字节字符,占用1个字节的空间。 如果第一个一个
【Linux】1w详解如何实现一个简单的shell
探讨一个简易命令行解释器(CLI)的实现过程,通过分解关键步骤和代码实现,帮助读者理解如何从零开始构建一个能够处理用户输入命令并执行相应操作的程序。文章不仅覆盖了命令行交互、命令解析、内建命令执行及普通命令执行等核心功能,还额外补充了关于文本编辑器(如vim)中文本替换的高级应用
7.25作业
作业一: package com.work3; import java.util.Scanner; /** * 编写截取字符串的方法,输入为一个字符串和字节数,输出为按字节截取的字符串。 * 具体要求:确保汉字不被截取半个, * 如“我ABC”,4,应该截为 我AB; * 输入 我ABC汉语DEF,6 输出 我ABC,而不是汉的半个字; * 输入 我ABC汉语DEF,7 ,输出...
Java测试右侧trim的字符串_java基础知识回顾之---java String final类普通方法的应用之“模拟字符串Trim方法”...
/** 4,模拟一个trim功能一致的方法。去除字符串两端的空白* 思路:* 1,定义两个变量。* 一个变量作为从头开始判断字符串空格的角标。不断++。* 一个变量作为从尾开始判断字符串空格的角标。不断--。* 2,判断到不是空格为止,取头尾之间的字符串即可。** 使用char charAt(int index);方法根据index索引,取出字符串* 使用String substring(in...
【技巧】MySql 分组Group 查询 用|隔开 取分组后的其他字段
【技巧】MySql 分组 查询 用|隔开 GROUP_CONCAT( t.id SEPARATOR '|' )
Java 按字节截取字符串
package io.p7.encoding; import java.io.UnsupportedEncodingException; public class Test { /* * 在java中 字符串“abcd”与字符串"ab你好"长度是一样的 都是四个字符 * 但对应的字节数不同 一个汉子占两个字节 * 定义一个方法按照最大的字节数来取子串 * 如:对于“ab你
力扣刷题-热题100题-第8题(c、python)
循环遍历数组,以左指针和右指针作为不重复子串的左右边界,右指针以下一个元素是否在左指针与右指针包括的子串里来判断左指针是否该往后走来保证左右指针概括住的子串一定是没有重复元素的,当时记录这个时候的子串长度,并不断更新最大不循环子串的长度(上面引用的博客里面有个很好的视频可以看)小循环从当前位置往后不断记录唯一值的元素作为无重复字符的子串(c语言通过strchr函数看子串中是否包含当前元素来记录,python通过set集合看是否包含当前元素来记录)对这个子串的长度进行记录,并不断更新最大的子串长度。
滑动窗口刷题记录2
滑动窗口
统计回文字符串,连续最大和
结构体对齐规则 第一个成员在与结构体变量偏移量为0的地址处。 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。对齐数 = 编译器默认的一个对齐数 与 该成员大小的较小值。 VS中默认的值为8,Linux中的默认值为4 结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。 如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数...
757



被折叠的 条评论
为什么被折叠?



