js根据字节判断字符串长度_js 字符串 字节长度和长度-程序员宅基地

技术标签: javaScript  前端  

一个汉字是两个字节, 一个字母是一个字节

处理代码

/*
参数说明:
str: 需要处理的字符串
L: 需要限制的长度
*/
cutStr(str, L) {
        var result = '',
            strlen = str.length, // 字符串长度
            chrlen = str.replace(/[^\x00-\xff]/g, '**').length // 字节长度
        if (chrlen <= L) {
            return str
        }
        for (var i = 0, j = 0; i < strlen; i++) {
            var chr = str.charAt(i)
            if (/[\x00-\xff]/.test(chr)) {
                j++ // ascii码为0-255,一个字符就是一个字节的长度
            } else {
                j += 2 // ascii码为0-255以外,一个字符就是两个字节的长度
            }
            if (j <= L) { // 当加上当前字符以后,如果总字节长度小于等于L,则将当前字符真实的+在result后
                result += chr
            } else { // 反之则说明result已经是不拆分字符的情况下最接近L的值了,直接返回
                return result
            }
        }
    },
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq940853667/article/details/98042379

智能推荐

nods神器,nvm-程序员宅基地

文章浏览阅读59次。配置前,请事先卸载你已经安装的Node版本和配置的环境变量,避免冲突。

【美赛】2023年ICM问题Z:奥运会的未来(思路、代码)-程序员宅基地

文章浏览阅读166次。ICMG建议从各个角度建立主办奥运会影响的指标:经济、土地使用、人们的满意度(运动员和观众)、旅行、未来改善的机会、主办城市/国家的声望,以及你的团队确定的其他标准。考虑可行性、实施的时间线,以及潜在战略对你的指标的影响。另一种想法是将奥林匹克运动分为四个(而不是两个)组,并举办四个较小的奥运会(例如,冬季、春季、夏季和秋季)。你提交的所有内容都计入25页的限制(摘要表、目录、报告、一页备忘录、参考文献清单和任何附录)。•一页总结表,清楚地描述你解决问题的方法,以及你在问题的背景下分析得出的最重要的结论。

zxing扫条形码简单使用实例_zxing条形码-程序员宅基地

文章浏览阅读4.2k次,点赞2次,收藏4次。转载自:http://bcoder.com/java/integrate-zxing-to-implement-scan-barcode-and-qrcode-in-android-studioZxing是一个可以实现条形码和二维码扫描的开源代码,现在利用Android Studio可以很方便的集成该代码库。下面是详细的使用步骤:一、通过Gradle将Zxing集成到你的项目中  打开..._zxing条形码

各大视频芯片提供商对比_视频监控方案对比表-程序员宅基地

文章浏览阅读7.6k次,点赞3次,收藏14次。【安防领域网络摄像头篇】海思视频监控芯片方案参数对比一览表:安防芯片市场上TI、海思、安霸三足鼎立 TI(Texas Instruments): 是美国德州仪器的简称,总部位于美国德克萨斯州的达拉斯,是全球知名的半导体企业,主要从事模拟电路和数字信号处理技术的研究,其具有代表性的DaVinci- DM3x ARM9视频处理器解决方案在安防行业有着广泛的应用。1951年更_视频监控方案对比表

版本迭代规划的几大关键步骤_硬件的版本规划和迭代-程序员宅基地

文章浏览阅读2.9k次。产品经理对于如何做版本迭代规划,有时总会产生无力感,要么是计划难以确定下来,要么是制定好的计划无法执行下去,这个问题的原因很复杂。在项目初期,我们缺少对产品的全局概念和整体把握,内部意见很难统一;再者,没有一个完整的用户体验或者价值流导向,对于每个迭代无法合理定制出可交付产品增量。之前我们讲过如何构建产品路线图,路线图可以给PO和团队整体方向的指导,但更具体的内容,需要用户故事地图的方式,通过横..._硬件的版本规划和迭代

谷歌chrome浏览器被hao123 360等劫持问题解决方案_c:\program files\google\chrome\application\chrome.-程序员宅基地

文章浏览阅读4.2k次。1.先chrome://version能看到下面这一串“C:\Program Files\Google\Chrome\Application\chrome.exe” --flag-switches-begin --flag-switches-end --origin-trial-disabled-features=SecurePaymentConfirmation http://hao.360.com/?src=lm&ls=n4e1d7e8c992.复制上面这一串3.打开4.在标记处粘贴刚_c:\program files\google\chrome\application\chrome.exe" --flag-switches-begin

随便推点

美图实战分享:如何真实模拟生产流量进行服务性能压测-程序员宅基地

文章浏览阅读745次。文章导读服务压力测试,是评估一个服务是否优秀的过程,他不仅能让你找到你的服务哪些地方存在性能瓶颈,而且还能让你准确的去做容量评估,防止容量不足,也规避了资源浪费。本文会带你了解以下几点内容:压测的意义压测注意点压测准备模型压测的自我理解普通压测工具goreplay压测工具介绍为什么要压测业务推广保障准确评...

Android开发之RadioButton位于文字右边的显示方法_android开发之radiobutto位于文字右边的显示方法-程序员宅基地

文章浏览阅读1.1k次。老套路看图:实现思路:1.将左边的选择按钮隐藏通过android:button="@null"2.设置右边的图片即可通过android:drawableRight="@drawable/btn_radio_is_check"看下核心代码:<?xml version="1.0" encoding="utf-8"?><RadioGroup ="http://schemas.android.com/apk/res/android" a_android开发之radiobutto位于文字右边的显示方法

关于node(1)——如何在 Webstorm 中快速创建 node + express 应用_webstorm nodejs express app-程序员宅基地

文章浏览阅读486次。1、点击左上角 File ——> New ——> Project :2、选择 Node.js Express App ,在Location 中选择项目地址,并写上 \ + 项目名称,然后在 View Engine 中选择 EJS ,最后点击 Create。3、创建成功后,项目内文件如下:4、输入 npm start ,启动项目:5、项目启动成功后,输入 http://localhost:3000 ,显示项目初始页面,如下所示:补充内容:在 项目 bin 文件夹下的 www._webstorm nodejs express app

Unity打开项目报fatal error错误或一直闪退_unity fatal error-程序员宅基地

文章浏览阅读5.4k次,点赞2次,收藏5次。之前在unity5.3版本中打开项目一直报fatal error系统内存不足的错误,在2018的版本中一直闪退。百度了各种方法都解决不了,无奈只能重新装,但是重装以后依然不行,最后是将C盘下安装unity的所有目录彻底删干净再重新安装就可以了。几个路径分别是1.清除unity的注册表。首先在 在运行中输入“regedit”打开注册表界面。删除 HKEY_CURRENT_USER\Software\Unity 下所有项,删除 HKEY_CURRENT_USER\Software\Unity Tech_unity fatal error

python oss批量上传_基于python如何实现上传文件到OSS 基于python实现上传文件到OSS代码实例...-程序员宅基地

文章浏览阅读215次。本篇文章小编给大家分享一下基于python实现上传文件到OSS代码实例,代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。基础环境# +++++ 阿里云OSS开发指南里都有详细的步骤,在这里整理了一下自己需要的东西# 确定开发环境,centOS默认安装了python2.7# python -V# 安装python开发包# yum install -y pyt..._python 上传视频 oss 优化

Wireshark抓取RTP流中的语音文件到本地_wireshark的rtp提取音频-程序员宅基地

文章浏览阅读2.6k次。一、所需工具和环境UbuntuWireshark一段语音传输的报文(含有RTP报文)二、操作步骤1、使用wireshark打开报文,在RTP流中会显示语音的编码格式,如下图:2、选择一条RTP流,选择工具栏:电话-RTP-RTP流,然后选中弹出窗口中的RTP报文,选择分析:3、..._wireshark的rtp提取音频

推荐文章

热门文章

相关标签