获得字符宽度的问题?

fhw217 2016-02-21 04:12:23
我现在正在做一个纯文本编辑器,要实现自动折行功能,我用的是CDC::GetCharWidth逐个字符获得宽度,如果超过右边界就折行,打开2M的文本文件时,用时是10秒左右,而用Windows自带的写字板只需要1秒,UltraEdit和VS2010也只需要1秒,请问有没有更快的函数或好的算法?
...全文
134 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-02-22
  • 打赏
  • 举报
回复
仅处理可见部分?
笨笨仔 2016-02-21
  • 打赏
  • 举报
回复
引用 楼主 fhw_bin_dl 的回复:
我现在正在做一个纯文本编辑器,要实现自动折行功能,我用的是CDC::GetCharWidth逐个字符获得宽度,如果超过右边界就折行,打开2M的文本文件时,用时是10秒左右,而用Windows自带的写字板只需要1秒,UltraEdit和VS2010也只需要1秒,请问有没有更快的函数或好的算法?
你使用实测方式计算肯定会慢,使用(字宽+间隔)*字数的方式估计会快点。
schlafenhamster 2016-02-21
  • 打赏
  • 举报
回复
使用线程"打开2M的文本文件"
dustpg 2016-02-21
  • 打赏
  • 举报
回复
DirectWrite接口,直接由有文本布局。 微软自己写的Windows接口,性能应该不错,自己还没做压力测试。
在盒子模型(二)——line box中我曾经说过,字符字体是没办法直接设置width的。 不过我们还有其他方法来控制字符字体的宽度。单个字符字体的宽度 单个字符字体的宽度只受font-size属性影响。 font-size 单个<em>字符</em>字体的<em>宽度</em></a></div><div data-report-view="{"mod":"popu_645","index":"4","dest":"https://blog.csdn.net/weixin_34474777/article/details/114971065","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-114971065-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1752541351826_13241\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAeZJREFUWEdjZGBgYPhQkSn49/v/EAbG/2oM/xn4QWI0A4wMHxn+M95i5mRcI9Ax/T0jyPI/P/7VM/5n4KKZpVgM/s/I8I2Fg6mR8W1+RioDw39TelqOsIvxNOPbgvRumgc7Lt8xMnxkfJufPmtgfA+xddQBeEOAv7opgImHh5PoKPr169fnOdN3/Xn88DOxevA6QLC9L5KRk4uHWMNA6v59+fz50+TeTf9evvhGjD6qOwDsiI8fPnya2LX537t3Pwg5giYOADvi3Zs3nyZ0bfn36dNvfI6gmQNAlv599fLlxwmd2xi+ffuDsyjAVw6QkwbQLfr76MHDj30duwbMAf+/f/vyvrJoOcUO+Pf82dOv2zadIZSoQPLcXn4mTJJS0iA21Rzw+/6de58n9uwlxgG8+SXOrIoqSlR1ADEWY1NDtRBg+PXrx7+PHz4S4xAmfgF+BjY2DqqGwIBHwb/3797+unzhFjEhwKZroMYkKCRM1RAgxmKapoF/r1+9/HHs8GVslrCISfCzWVpjbdZRLRHiSwOsugZivMkZ/jQNAYa/f//8//UTe+3GyMTMyMGBtd1AtRAY8DQwIA7gTcuxZuDkABcoZIPvP358njXlKFmVEdmWkqBxMHRMBrhrNuCdU1B0DWT3HACwkGScZb+cwwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://blog.csdn.net/weixin_34474777/article/details/114971065" data-report-click="{"mod":"popu_645","index":"4","dest":"https://blog.csdn.net/weixin_34474777/article/details/114971065","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-114971065-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1752541351826_13241\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-114971065-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-114971065-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac>python如何计算<em>字符</em><em>宽度</em>_Python中计算<em>字符</em><em>宽度</em></a></div> <a target="_blank" href="https://blog.csdn.net/weixin_34474777/article/details/114971065" data-report-click="{"mod":"popu_645","index":"4","dest":"https://blog.csdn.net/weixin_34474777/article/details/114971065","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-114971065-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1752541351826_13241\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-114971065-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-114971065-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac>转载:http://likang.me/blog/2012/04/13/calculate-character-width-in-python/最近在用python写一个CLI小程序,其中涉及到计算<em>字符</em><em>宽度</em>,目标是以友好的方式将一个长<em>字符</em>串截取为等宽的片段。对于unicode<em>字符</em>,python的len函数可以准确的计算其中所包含的<em>字符</em>个数,但是个数并不代表<em>宽度</em>,如:>>>len(...</a></div><div data-report-view="{"mod":"popu_645","index":"5","dest":"https://blog.csdn.net/majianfeng9263/article/details/107175484","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-107175484-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1752541351826_13241\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAeZJREFUWEdjZGBgYPhQkSn49/v/EAbG/2oM/xn4QWI0A4wMHxn+M95i5mRcI9Ax/T0jyPI/P/7VM/5n4KKZpVgM/s/I8I2Fg6mR8W1+RioDw39TelqOsIvxNOPbgvRumgc7Lt8xMnxkfJufPmtgfA+xddQBeEOAv7opgImHh5PoKPr169fnOdN3/Xn88DOxevA6QLC9L5KRk4uHWMNA6v59+fz50+TeTf9evvhGjD6qOwDsiI8fPnya2LX537t3Pwg5giYOADvi3Zs3nyZ0bfn36dNvfI6gmQNAlv599fLlxwmd2xi+ffuDsyjAVw6QkwbQLfr76MHDj30duwbMAf+/f/vyvrJoOcUO+Pf82dOv2zadIZSoQPLcXn4mTJJS0iA21Rzw+/6de58n9uwlxgG8+SXOrIoqSlR1ADEWY1NDtRBg+PXrx7+PHz4S4xAmfgF+BjY2DqqGwIBHwb/3797+unzhFjEhwKZroMYkKCRM1RAgxmKapoF/r1+9/HHs8GVslrCISfCzWVpjbdZRLRHiSwOsugZivMkZ/jQNAYa/f//8//UTe+3GyMTMyMGBtd1AtRAY8DQwIA7gTcuxZuDkABcoZIPvP358njXlKFmVEdmWkqBxMHRMBrhrNuCdU1B0DWT3HACwkGScZb+cwwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://blog.csdn.net/majianfeng9263/article/details/107175484" data-report-click="{"mod":"popu_645","index":"5","dest":"https://blog.csdn.net/majianfeng9263/article/details/107175484","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-107175484-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1752541351826_13241\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-107175484-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-107175484-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac>Lua计算<em>字符</em>串<em>宽度</em></a></div> <a target="_blank" href="https://blog.csdn.net/majianfeng9263/article/details/107175484" data-report-click="{"mod":"popu_645","index":"5","dest":"https://blog.csdn.net/majianfeng9263/article/details/107175484","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-107175484-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1752541351826_13241\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-107175484-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-107175484-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac>一、判断<em>字符</em>串中包含中文<em>字符</em>的方法 遍历数组,对每个字节使用string.byte(),发现有大于127的,就是汉字,可以参照下面的代码。 二、计算<em>字符</em>串<em>宽度</em>函数 复制代码代码如下: – 计算<em>字符</em>串<em>宽度</em> local str = “Jimmy: 你好,世界!” local fontSize = 20 local lenInByte = #str local width = 0 for i=1,lenInByte do local curByte = string.byte(str, i) local byte</a></div></div></div></div> <div class="public_pc_right_footer2020" style="display:none;" data-v-4a5a7f56></div></div> <div id="right-floor-user-content_562" data-editor="{"type":"floor","pageId":143,"floorId":562}" class="user-right-floor right-box main-box detail-user-right" data-v-229a00b0><div class="__vuescroll" style="height:100%;width:100%;padding:0;position:relative;overflow:hidden;"><div class="__panel __hidebar" style="position:relative;box-sizing:border-box;height:100%;overflow-y:hidden;overflow-x:hidden;transform-origin:;transform:;"><div class="__view" style="position:relative;box-sizing:border-box;min-width:100%;min-height:100%;"><!----><div comp-data="[object Object]" baseInfo="[object Object]" community="[object Object]" class="introduce" data-v-4722a3ae><div class="introduce-title" data-v-4722a3ae><div class="img-info" data-v-4722a3ae><a href="https://bbs.csdn.net/forums/VC_UI" class="community-img" data-v-4722a3ae><img src="https://g.csdnimg.cn/static/user-img/default-user.png" alt data-v-4722a3ae> <div title="界面" class="community-name" data-v-4722a3ae> 界面 </div></a></div></div> <div class="content" data-v-4722a3ae><div class="detail" data-v-4722a3ae><div title="15980" class="item" data-v-4722a3ae><p class="num" data-v-4722a3ae> 15,980 </p> <p class="desc" data-v-4722a3ae> 社区成员 </p></div> <div title="115867" class="item" data-v-4722a3ae><a href="https://bbs.csdn.net/forums/VC_UI" target="_blank" data-v-4722a3ae><p class="num" data-v-4722a3ae> 115,867 </p> <p class="desc" data-v-4722a3ae> 社区内容 </p></a></div></div> <div class="detail-btns" data-v-4722a3ae><div class="community-ctrl-btns_wrapper" data-v-0ebf603c data-v-4722a3ae><div class="community-ctrl-btns" data-v-0ebf603c><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-160be461 data-v-0ebf603c><div data-report-click="{"spm":"3001.5975"}" data-v-160be461><img src="https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png" alt="" class="img sendTopic" data-v-160be461 data-v-0ebf603c> <span data-v-160be461 data-v-0ebf603c>发帖</span></div> <!----> <!----></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png" alt="" class="img me" data-v-0ebf603c> <span data-v-0ebf603c>与我相关</span></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png" alt="" class="img task" data-v-0ebf603c> <span data-v-0ebf603c>我的任务</span></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div class="community-share" data-v-4ca34db9 data-v-0ebf603c><div class="handle-item share" data-v-ca030a68 data-v-4ca34db9><span height="384" data-v-ca030a68><div role="tooltip" id="el-popover-7419" aria-hidden="true" class="el-popover el-popper popo share-popover" style="width:265px;display:none;"><!----><div id="tool-QRcode" class="QRcode" data-v-ca030a68><img src="https://csdnimg.cn/release/cmsfe/public/img/shareBg4.515d57f6.png" alt="" class="share-bg" data-v-ca030a68> <div class="share-bg-box" data-v-ca030a68><div class="share-content" data-v-ca030a68><img src="https://g.csdnimg.cn/static/user-img/default-user.png" alt="" class="share-avatar" data-v-ca030a68> <div class="share-tit" data-v-ca030a68>界面</div> <div class="share-dec" data-v-ca030a68>VC/MFC 界面</div> <span class="copy-share-url" data-v-ca030a68>复制链接</span> <div class="shareText" data-v-ca030a68> </div></div> <div class="share-code" data-v-ca030a68><div class="qrcode" data-v-ca030a68></div> <div class="share-code-text" data-v-ca030a68>扫一扫</div></div></div></div> </div><span class="el-popover__reference-wrapper"><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png" alt="" class="img share" data-v-0ebf603c> <span data-v-0ebf603c>分享</span></div></span></span></div> <!----></div></div></div> <!----> <div data-v-4fb59baf data-v-0ebf603c><div class="el-dialog__wrapper ccloud-pop-outer2" style="display:none;" data-v-4fb59baf><div role="dialog" aria-modal="true" aria-label="dialog" class="el-dialog el-dialog--center" style="margin-top:15vh;width:70%;"><div class="el-dialog__header"><span class="el-dialog__title"></span><!----></div><!----><div class="el-dialog__footer"><span class="dialog-footer clearfix" data-v-4fb59baf><div class="confirm-btm fr" data-v-4fb59baf>确定</div></span></div></div></div></div></div></div></div> <div style="display:none;" data-v-4722a3ae data-v-4722a3ae><!----> <div class="introduce-desc" data-v-4722a3ae><div class="introduce-desc-title" data-v-4722a3ae>社区描述</div> <span data-v-4722a3ae> VC/MFC 界面 </span></div></div> <div class="introduce-text" data-v-4722a3ae><div class="label-box" data-v-4722a3ae><!----> <!----> <!----></div></div> <!----> <div class="manage" data-v-4722a3ae><div class="manage-inner" data-v-4722a3ae><span data-v-4722a3ae>社区管理员</span> <ul data-v-4722a3ae><li data-v-4722a3ae><a href="https://blog.csdn.net/community_82" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/default.jpg!1" alt="界面" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li></ul></div></div> <div class="actions" data-v-4722a3ae><!----> <div style="flex:1;" data-v-4722a3ae><div class="join-btn" data-v-4722a3ae> 加入社区 </div></div> <!----> <!----></div> <div class="el-dialog__wrapper" style="display:none;" data-v-38c57799 data-v-4722a3ae><div role="dialog" aria-modal="true" aria-label="获取链接或二维码" class="el-dialog join-qrcode-dialog" style="margin-top:15vh;width:600px;"><div class="el-dialog__header"><span class="el-dialog__title">获取链接或二维码</span><button type="button" aria-label="Close" class="el-dialog__headerbtn"><i class="el-dialog__close el-icon el-icon-close"></i></button></div><!----><div class="el-dialog__footer"><span class="dialog-footer" data-v-38c57799></span></div></div></div> <div class="collapse-btn" data-v-4722a3ae><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAgCAYAAACFM/9sAAAAAXNSR0IArs4c6QAAAi1JREFUaEPtl01u01AUhc+N8wMSO4AxzJAqwQpKQsdtbMOICmKnwCKQ2ACDIgotrYKiduIiVZ10B0CBAjtAbICfooomJr3IcUoTiVLb15GNuG/67nm65/M5AxP0iAiQSK1iKEBhCBSgAhQSEMo1gQpQSEAo1wQqQCEBoVwT+K8CnLnWvER8cOHMaf95q9Xaj+vDtp3LPeD83u6p9a2t+U5cfVrzmSTQNOfOgg4+ATDAeNHp/Jza3Fz5HtWUZbl3GXjYn2e+53lL96Nq057LBOD0dOOcUSx8BFAcGHpZLlWmVlfnd08yaJrubRAe/Z77HwEG5kdS1E8StgFc9bzFb8dBrNtukxgLwOAXNEF6T/pAce8zSeDhknXbuUNMQRUHe/BrMNX+BNGyHIdBT45m6VVn36/FqX5cOFHmMwUYJrE5x+CgkuEujLe+361ubLS+HhowzeYtEC8NzWyXy5ValMpHgSCZyRxgsLxpui4Ij4/ShZ1S0aiurS18sSznJoOeDt29AaP6t6pLgMTV5gJgsHTddhvEWBwC9Y6AZww8AFA4Lp1xDac9nxuAYZ37aQuqGgIbPTt+t3tluNppw0jyXq4AhnV2ZkG0PAKR8b5UMiaDSicxOU5N7gCGSXRvMLAygPgB3Jv0vOXP4wSR9O1cAgzMzFxvXDR6hYlK5cd6u93eS2pw3LrcAhy38bTeV4BCkgpQAQoJCOWaQAUoJCCUawIVoJCAUK4JVIBCAkL5L1yapyGdIBwvAAAAAElFTkSuQmCC" alt data-v-4722a3ae></div></div><!----><!----><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="floor-user-right-rank" data-v-3d3affee><div class="el-tabs el-tabs--top" data-v-3d3affee><div class="el-tabs__header is-top"><div class="el-tabs__nav-wrap is-top"><div class="el-tabs__nav-scroll"><div role="tablist" class="el-tabs__nav is-top" style="transform:translateX(-0px);"><div class="el-tabs__active-bar is-top" style="width:0px;transform:translateX(0px);ms-transform:translateX(0px);webkit-transform:translateX(0px);"></div></div></div></div></div><div class="el-tabs__content"><div role="tabpanel" id="pane-integral" aria-labelledby="tab-integral" class="el-tab-pane" data-v-3d3affee></div><div role="tabpanel" aria-hidden="true" id="pane-3" aria-labelledby="tab-3" class="el-tab-pane" style="display:none;" data-v-3d3affee></div><div role="tabpanel" aria-hidden="true" id="pane-5" aria-labelledby="tab-5" class="el-tab-pane" style="display:none;" data-v-3d3affee></div><div role="tabpanel" aria-hidden="true" id="pane-6" aria-labelledby="tab-6" class="el-tab-pane" style="display:none;" data-v-3d3affee></div></div></div> <div class="floor-user-right-rank-score" data-v-608528ce data-v-3d3affee><div class="floor-user-right-rank-score-tabs" data-v-608528ce><ul data-v-608528ce><li data-v-608528ce> 近7日 </li><li data-v-608528ce> 近30日 </li><li class="active" data-v-608528ce> 至今 </li></ul></div> <div class="floor-user-right-rank-common" data-v-46cf600d data-v-608528ce><div class="rank-list" data-v-46cf600d><!----> <div class="no-data loading" data-v-46cf600d><i class="el-icon-loading" data-v-46cf600d></i> <p data-v-46cf600d>加载中</p></div> <!----> <a href="https:///VC_UI/rank/list/total" target="_blank" class="show-more" data-v-46cf600d> 查看更多榜单 </a></div></div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="floor comunity-rule" data-v-3cfa4dbd><div class="title" data-v-3cfa4dbd> 社区公告 </div> <div class="contain" data-v-3cfa4dbd><div class="inner-content" data-v-3cfa4dbd>暂无公告</div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="user-right-adimg empty-arr" data-v-15c6aa4f><div class="adImgs" data-v-2a6389b9 data-v-15c6aa4f><!----> <div data-v-2a6389b9><div data-v-2a6389b9></div></div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="ai-entrance" data-v-eb1c454c><p data-v-eb1c454c>试试用AI创作助手写篇文章吧</p> <div class="entrance-btn-line" data-v-eb1c454c><a href="https://mp.csdn.net/edit?guide=1" target="_blank" data-report-click="{"spm":"3001.9712"}" data-report-query="spm=3001.9712" class="entrance-btn" data-v-eb1c454c>+ 用AI写文章</a></div></div></div></div></div></div></div></div></div></div> <!----></div></div></div> <div> <script type="text/javascript" src="https://g.csdnimg.cn/common/csdn-footer/csdn-footer.js" data-isfootertrack="false" defer></script> </div></div></div><script> window.__INITIAL_STATE__= {"csrf":"MOMwv3ag-RWF3k9X3IW8CQZfbsgh3qDYnfz8","origin":"http:\u002F\u002Fbbs.csdn.net","isMobile":false,"cookie":"uuid_tt_dd=10_36287182540-1752541344912-606116; dc_sid=1d5bd38bb09d8e44e169649b8a8c4bc4; uuid_tt_dd=10_36287182540-1752541344912-606116; dc_session_id=10_1752541344912.390405; csrfToken=AXhnXw3yBE9134jOecIpF3be","ip":"216.73.216.174","pageData":{"page":{"pageId":143,"title":"社区详情","keywords":"社区详情","description":"社区详情","ext":{"isMd":"true","armsfe1":"{pid:\"dyiaei5ihw@1a348e4d05c2c78\",appType:\"web\",imgUrl:\"https:\u002F\u002Farms-retcode.aliyuncs.com\u002Fr.png?\",sendResource:true,enableLinkTrace:true,behavior:true}","redPacketCfg":"{\"presetTitle\":[\"成就一亿技术人!\",\"大吉大利\",\"节日快乐\",\"Bug Free\",\"Hello World\",\"Be Greater Than Average!!\"],\"defaultTitle\":\"成就一亿技术人!\",\"preOpenSty\":{},\"redCardSty\":{}}","blogStar":"[{\"year\":\"2021\",\"enable\":true,\"communityIds\":[3859],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2021\"},{\"year\":\"2022\",\"enable\":true,\"communityIds\":[3860],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2022\"}]","mdVersion":"https:\u002F\u002Fcsdnimg.cn\u002Frelease\u002Fmarkdown-editor\u002F1.1.0\u002Fmarkdown-editor.js","componentSortCfg":"{ \"right\":[\"ratesInfo\",\"cty-profile\",\"pub-comp\",\"user-right-introduce\",\"post-event\",\"my-mission\", \"user-right-rank\",\"user-right-rule\",\"user-right-adimg\"] }","showCknowDetail":"{\"show\":true,\"reportView\":true,\"url\":\"https:\u002F\u002Fai.csdn.net\u002Fhomework?utm_source=cknow_bbs_detail\",\"spm\":\"1035.2022.3001.10801\"}","show_1024":"{\"enable\":false,\"useWhitelist\":false,\"whitelist\":[76215],\"home\":\"https:\u002F\u002F1111.csdn.net\u002F\",\"logo\":\"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221104102741.png\",\"hideLive\":true}","iframes":"[\"3859\"]","pageCfg":"{\"disableDownloadPDF\": false,\"hideSponsor\":false}"}},"template":{"templateId":71,"templateComponentName":"ccloud-detail","title":"ccloud-detail","floorList":[{"floorId":562,"floorComponentName":"floor-user-content","title":"社区详情页","description":"社区详情页","indexOrder":3,"componentList":[{"componentName":"baseInfo","componentDataId":"cloud-detail1","componentConfigData":{},"relationType":3},{"componentName":"user-right-introduce","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-recommend","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rank","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rule","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-adimg","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"default2014LiveRoom","componentDataId":"20221024DefaultLiveRoom","componentConfigData":{},"relationType":3}]}]},"data":{"baseInfo":{"customDomain":"","uriName":"VC_UI","communityHomePage":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_UI","owner":{"userName":"community_82","nickName":"界面","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","position":"","companyName":""},"user":{"userRole":3,"userName":null,"nickName":null,"avatarUrl":null,"rank":null,"follow":2,"communityBase":null,"joinCollege":null,"isVIP":null},"community":{"name":"界面","description":"VC\u002FMFC 界面","avatarUrl":"https:\u002F\u002Fg.csdnimg.cn\u002Fstatic\u002Fuser-img\u002Fdefault-user.png","qrCode":"","createTime":"2007-09-28","communityAvatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","communityNotice":null,"userCount":15980,"contentCount":115867,"followersCount":8004,"communityRule":"","communityId":200,"bgImage":"","hashId":"81r2ggn5","domain":"","uriName":"VC_UI","externalDisplay":1,"adBanner":{"img":"","url":"","adType":0,"adCon":null},"rightBanner":{"img":"","url":"","adType":0,"adCon":null},"tagId":null,"tagName":null,"communityType":1,"communityApplyUrl":"https:\u002F\u002Fmarketing.csdn.net\u002Fquestions\u002FQ2106040308026533763","joinType":0,"visibleType":0,"collapse":0,"topicMoveAble":0,"allowActions":{},"communityOwner":"community_82","tagNameInfo":{"provinceTag":null,"areaTag":null,"technologyTags":null,"customTags":null}},"tabList":[{"tabId":1359,"tabName":"全部","tabUrl":"","tabSwitch":1,"tabType":4,"tabContribute":0,"cardType":0,"indexOrder":-1,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_UI?typeId=1359","iframe":false,"sortType":1},{"tabId":1636853,"tabName":"Ada助手","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":20,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_UI?typeId=1636853","iframe":false,"sortType":1}],"dataResource":{"mediaType":"c_cloud","subResourceType":"8_c_cloud_long_text","showType":"long_text","tabId":0,"communityName":"界面","communityHomePageUrl":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FVC_UI","communityType":1,"content":{"id":"391905121","contentId":391905121,"cateId":0,"cateName":null,"url":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F391905121","shareUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F391905121","createTime":"2016-02-21 04:12:23","updateTime":"2021-05-28 19:50:49","resourceUsername":"fhw_bin_dl","best":0,"top":0,"text":null,"publishDate":"2016-02-21","lastReplyDate":"2016-02-22","type":"13","nickname":"fhw217","avatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F51c2395346ed4cc08e02f4edb9c0f358_fhw_bin_dl.jpg!1","username":"fhw_bin_dl","commentCount":4,"diggNum":0,"digg":false,"viewCount":134,"hit":false,"resourceSource":6,"status":10,"taskStatus":null,"expired":false,"taskCate":0,"taskAward":0,"taskExpired":null,"checkRedPacket":null,"avgScore":0,"totalScore":0,"topicTitle":"获得字符宽度的问题?","insertFirst":false,"likeInfo":null,"description":"我现在正在做一个纯文本编辑器,要实现自动折行功能,我用的是CDC::GetCharWidth逐个字符获得宽度,如果超过右边界就折行,打开2M的文本文件时,用时是10秒左右,而用Windows自带的写字板只需要1秒,UltraEdit和VS2010也只需要1秒,请问有没有更快的函数或好的算法?","coverImg":"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221109053539.png","content":"我现在正在做一个纯文本编辑器,要实现自动折行功能,我用的是CDC::GetCharWidth逐个字符获得宽度,如果超过右边界就折行,打开2M的文本文件时,用时是10秒左右,而用Windows自带的写字板只需要1秒,UltraEdit和VS2010也只需要1秒,请问有没有更快的函数或好的算法?","mdContent":null,"pictures":null,"videoInfo":null,"linkInfo":null,"student":{"isCertification":false,"org":"","bala":""},"employee":{"isCertification":false,"org":"","bala":""},"userCertification":[],"dependId":"0","dependSubType":null,"videoUrl":null,"favoriteCount":0,"favoriteStatus":false,"taskType":null,"defaultScore":null,"syncAsk":false,"videoPlayLength":null},"communityUser":null,"allowPost":false,"submitHistory":[{"user":{"registerurl":"https:\u002F\u002Fg.csdnimg.cn\u002Fstatic\u002Fuser-reg-year\u002F1x\u002F14.png","avatarurl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F51c2395346ed4cc08e02f4edb9c0f358_fhw_bin_dl.jpg!1","nickname":"fhw217","selfdesc":"","createdate":"2011-03-02 10:20:22","days":"5249","years":"14","username":"fhw_bin_dl","school":null,"company":null,"job":null},"userName":"fhw_bin_dl","event":"创建了帖子","body":"2016-02-21 04:12","editId":null}],"resourceExt":{}},"contentReply":{"pageNo":1,"pageSize":20,"totalPages":1,"totalCount":4,"total":0,"list":[{"hit":null,"hitMsg":null,"content":"仅处理可见部分?","topicTitle":null,"description":"仅处理可见部分?","id":400855599,"contentResourceId":391905121,"bindContentResourceId":0,"communityId":200,"username":"zhao4zhong1","userNickName":"赵4老师","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F1bf3ba44815e42ce80a02791da509ee7_zhao4zhong1.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":2093865250,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2016-02-22 01:32:36","updateTime":"2016-03-10 06:44:47","formatTime":"2016-02-22","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"\u003Cfieldset\u003E\u003Clegend class=\"font_bold\"\u003E引用 楼主 fhw_bin_dl 的回复:\u003C\u002Flegend\u003E\u003Cblockquote\u003E我现在正在做一个纯文本编辑器,要实现自动折行功能,我用的是CDC::GetCharWidth逐个字符获得宽度,如果超过右边界就折行,打开2M的文本文件时,用时是10秒左右,而用Windows自带的写字板只需要1秒,UltraEdit和VS2010也只需要1秒,请问有没有更快的函数或好的算法?\u003C\u002Fblockquote\u003E\u003C\u002Ffieldset\u003E\n你使用实测方式计算肯定会慢,使用(字宽+间隔)*字数的方式估计会快点。","topicTitle":null,"description":"引用 楼主 fhw_bin_dl 的回复:我现在正在做一个纯文本编辑器,要实现自动折行功能,我用的是CDC::GetCharWidth逐个字符获得宽度,如果超过右边界就折行,打开2M的文本文件时,用时是10秒左右,而用Windows自带的写字板只需要1秒,UltraEdit和VS2010也只需要1秒,请问有没有更快的函数或好的算法? 你使用实测方式计算肯定会慢,使用(字宽+间隔)*字数的方式估计会快点。","id":400853608,"contentResourceId":391905121,"bindContentResourceId":0,"communityId":200,"username":"wxhxj0268","userNickName":"笨笨仔","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Ffd4cf675ad2c4215a45d90ad5135e683_wxhxj0268.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":827390416,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2016-02-21 07:16:02","updateTime":"2016-03-10 06:44:47","formatTime":"2016-02-21","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"使用线程"打开2M的文本文件"","topicTitle":null,"description":"使用线程\"打开2M的文本文件\"","id":400853575,"contentResourceId":391905121,"bindContentResourceId":0,"communityId":200,"username":"schlafenhamster","userNickName":"schlafenhamster","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F445f253b001c4a25aa5f9197162fb84d_schlafenhamster.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":1968910248,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2016-02-21 06:42:37","updateTime":"2016-03-10 06:44:47","formatTime":"2016-02-21","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"DirectWrite接口,直接由有文本布局。\n微软自己写的Windows接口,性能应该不错,自己还没做压力测试。","topicTitle":null,"description":"DirectWrite接口,直接由有文本布局。 微软自己写的Windows接口,性能应该不错,自己还没做压力测试。","id":400853572,"contentResourceId":391905121,"bindContentResourceId":0,"communityId":200,"username":"dustpg","userNickName":"dustpg","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fb911892147784a339f9cb5c3ea7fbcfb_dustpg.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":2883425478,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2016-02-21 06:38:56","updateTime":"2016-03-10 06:44:47","formatTime":"2016-02-21","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null}],"maxPageSize":3000},"defaultActiveTab":1359,"recommends":[{"url":"https:\u002F\u002Fblog.csdn.net\u002Fweixin_34292402\u002Farticle\u002Fdetails\u002F91379075","title":"零\u003Cem\u003E宽度\u003C\u002Fem\u003E\u003Cem\u003E字符\u003C\u002Fem\u003E:和谐?屏蔽?不存在的","desc":"对零\u003Cem\u003E宽度\u003C\u002Fem\u003E\u003Cem\u003E字符\u003C\u002Fem\u003E完全没有头绪的可以先玩下这个Demo\n\n什么是零\u003Cem\u003E宽度\u003C\u002Fem\u003E\u003Cem\u003E字符\u003C\u002Fem\u003E?\n零\u003Cem\u003E宽度\u003C\u002Fem\u003E\u003Cem\u003E字符\u003C\u002Fem\u003E是一些不可见的,不可打印的\u003Cem\u003E字符\u003C\u002Fem\u003E。它们存在于页面中主要用于调整\u003Cem\u003E字符\u003C\u002Fem\u003E的显示格式,下面就是一些常见的零\u003Cem\u003E宽度\u003C\u002Fem\u003E\u003Cem\u003E字符\u003C\u002Fem\u003E及它们的unicode码和原本用途:\n\n零\u003Cem\u003E宽度\u003C\u002Fem\u003E空格符 (zero-width space) U+200B : 用于较长单词的换行分隔\n零\u003Cem\u003E宽度\u003C\u002Fem\u003E非断空格符 (zero width no-break space) U+...","createTime":"2018-09-03 10:24:33","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-1-91379075-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-1-91379075-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fweixin_34292402\u002Farticle\u002Fdetails\u002F91379075\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-1-91379075-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1752541351826_13241\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fweixin_34292402\u002Farticle\u002Fdetails\u002F91379075\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-1-91379075-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1752541351826_13241\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"blog"},{"url":"https:\u002F\u002Fblog.csdn.net\u002Fxyllp\u002Farticle\u002Fdetails\u002F102571332","title":"处理\u003Cem\u003E字符\u003C\u002Fem\u003E串中英文\u003Cem\u003E宽度\u003C\u002Fem\u003E不一致\u003Cem\u003E问题\u003C\u002Fem\u003E小工具","desc":"java获取指定\u003Cem\u003E宽度\u003C\u002Fem\u003E\u003Cem\u003E字符\u003C\u002Fem\u003E串的小工具实现功能通过给定下标计算出指定\u003Cem\u003E宽度\u003C\u002Fem\u003E的下标位置计算\u003Cem\u003E字符\u003C\u002Fem\u003E串\u003Cem\u003E宽度\u003C\u002Fem\u003E计算\u003Cem\u003E字符\u003C\u002Fem\u003E串\u003Cem\u003E宽度\u003C\u002Fem\u003E(按英文\u003Cem\u003E宽度\u003C\u002Fem\u003E)计算\u003Cem\u003E字符\u003C\u002Fem\u003E串\u003Cem\u003E宽度\u003C\u002Fem\u003E(按中文\u003Cem\u003E宽度\u003C\u002Fem\u003E)填充空白\u003Cem\u003E字符\u003C\u002Fem\u003E到\u003Cem\u003E字符\u003C\u002Fem\u003E串头部,以达到期望的\u003Cem\u003E宽度\u003C\u002Fem\u003E填充空白\u003Cem\u003E字符\u003C\u002Fem\u003E到\u003Cem\u003E字符\u003C\u002Fem\u003E串末尾,以达到期望的\u003Cem\u003E宽度\u003C\u002Fem\u003E\n实现功能\n通过给定下标计算出指定\u003Cem\u003E宽度\u003C\u002Fem\u003E的下标位置\n计算\u003Cem\u003E字符\u003C\u002Fem\u003E串\u003Cem\u003E宽度\u003C\u002Fem\u003E计算\u003Cem\u003E字符\u003C\u002Fem\u003E串\u003Cem\u003E宽度\u003C\u002Fem\u003E(按英文\u003Cem\u003E宽度\u003C\u002Fem\u003E)\n计算\u003Cem\u003E字符\u003C\u002Fem\u003E串\u003Cem\u003E宽度\u003C\u002Fem\u003E(按中文\u003Cem\u003E宽度\u003C\u002Fem\u003E)\n填充空白\u003Cem\u003E字符\u003C\u002Fem\u003E到\u003Cem\u003E字符\u003C\u002Fem\u003E串头部,以达到期望的\u003Cem\u003E宽度\u003C\u002Fem\u003E\n...","createTime":"2019-10-15 17:31:17","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-2-102571332-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-2-102571332-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fxyllp\u002Farticle\u002Fdetails\u002F102571332\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-2-102571332-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1752541351826_13241\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fxyllp\u002Farticle\u002Fdetails\u002F102571332\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-2-102571332-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1752541351826_13241\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"blog"},{"url":"https:\u002F\u002Fblog.csdn.net\u002Fmaomaolaoshi\u002Farticle\u002Fdetails\u002F77895206","title":"如何控制html中\u003Cem\u003E字符\u003C\u002Fem\u003E字体的\u003Cem\u003E宽度\u003C\u002Fem\u003E?","desc":"在盒子模型(二)——line box中我曾经说过,\u003Cem\u003E字符\u003C\u002Fem\u003E字体是没办法直接设置width的。 \n不过我们还有其他方法来控制\u003Cem\u003E字符\u003C\u002Fem\u003E字体的\u003Cem\u003E宽度\u003C\u002Fem\u003E。单个\u003Cem\u003E字符\u003C\u002Fem\u003E字体的\u003Cem\u003E宽度\u003C\u002Fem\u003E\n 单个\u003Cem\u003E字符\u003C\u002Fem\u003E字体的\u003Cem\u003E宽度\u003C\u002Fem\u003E只受font-size属性影响。\nfont-size\u003C!DOCTYPE html\u003E\n\u003Chtml lang=\"en\"\u003E\n\u003Chead\u003E\n \u003Cmeta charset=\"UTF-8\"\u003E\n \u003Ctitle\u003E单个\u003Cem\u003E字符\u003C\u002Fem\u003E字体的\u003Cem\u003E宽度\u003C\u002Fem\u003E","createTime":"2017-09-09 00:00:38","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~activity-3-77895206-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~activity-3-77895206-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fmaomaolaoshi\u002Farticle\u002Fdetails\u002F77895206\",\"strategy\":\"2~default~OPENSEARCH~activity\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~activity-3-77895206-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1752541351826_13241\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fmaomaolaoshi\u002Farticle\u002Fdetails\u002F77895206\",\"strategy\":\"2~default~OPENSEARCH~activity\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~activity-3-77895206-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1752541351826_13241\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"blog"},{"url":"https:\u002F\u002Fblog.csdn.net\u002Fweixin_34474777\u002Farticle\u002Fdetails\u002F114971065","title":"python如何计算\u003Cem\u003E字符\u003C\u002Fem\u003E\u003Cem\u003E宽度\u003C\u002Fem\u003E_Python中计算\u003Cem\u003E字符\u003C\u002Fem\u003E\u003Cem\u003E宽度\u003C\u002Fem\u003E","desc":"转载:http:\u002F\u002Flikang.me\u002Fblog\u002F2012\u002F04\u002F13\u002Fcalculate-character-width-in-python\u002F最近在用python写一个CLI小程序,其中涉及到计算\u003Cem\u003E字符\u003C\u002Fem\u003E\u003Cem\u003E宽度\u003C\u002Fem\u003E,目标是以友好的方式将一个长\u003Cem\u003E字符\u003C\u002Fem\u003E串截取为等宽的片段。对于unicode\u003Cem\u003E字符\u003C\u002Fem\u003E,python的len函数可以准确的计算其中所包含的\u003Cem\u003E字符\u003C\u002Fem\u003E个数,但是个数并不代表\u003Cem\u003E宽度\u003C\u002Fem\u003E,如:>>>len(...","createTime":"2021-03-18 11:45:00","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-114971065-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-114971065-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fweixin_34474777\u002Farticle\u002Fdetails\u002F114971065\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-114971065-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1752541351826_13241\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fweixin_34474777\u002Farticle\u002Fdetails\u002F114971065\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-4-114971065-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1752541351826_13241\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"blog"},{"url":"https:\u002F\u002Fblog.csdn.net\u002Fmajianfeng9263\u002Farticle\u002Fdetails\u002F107175484","title":"Lua计算\u003Cem\u003E字符\u003C\u002Fem\u003E串\u003Cem\u003E宽度\u003C\u002Fem\u003E","desc":"一、判断\u003Cem\u003E字符\u003C\u002Fem\u003E串中包含中文\u003Cem\u003E字符\u003C\u002Fem\u003E的方法\n遍历数组,对每个字节使用string.byte(),发现有大于127的,就是汉字,可以参照下面的代码。\n二、计算\u003Cem\u003E字符\u003C\u002Fem\u003E串\u003Cem\u003E宽度\u003C\u002Fem\u003E函数\n复制代码代码如下:\n– 计算\u003Cem\u003E字符\u003C\u002Fem\u003E串\u003Cem\u003E宽度\u003C\u002Fem\u003E\nlocal str = “Jimmy: 你好,世界!”\nlocal fontSize = 20\nlocal lenInByte = #str\nlocal width = 0\nfor i=1,lenInByte do\nlocal curByte = string.byte(str, i)\nlocal byte","createTime":"2020-07-07 10:23:16","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-107175484-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-107175484-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fmajianfeng9263\u002Farticle\u002Fdetails\u002F107175484\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-107175484-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1752541351826_13241\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fmajianfeng9263\u002Farticle\u002Fdetails\u002F107175484\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-107175484-bbs-391905121.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1752541351826_13241\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"blog"}],"staffDOList":[{"id":null,"communityId":200,"username":"community_82","userNickname":"界面","roleCode":1,"status":1,"createUsername":"","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","createTime":"2021-05-12 18:06:54","updateTime":"2021-05-12 18:06:54","lastLoginTime":"2021-05-12 18:06:54"}],"communityConfig":{"scoreType":0,"scoreItems":{"0":"给本帖投票","1":"锋芒小试,眼前一亮","2":"潜力巨大,未来可期","3":"持续贡献,值得关注","4":"成绩优异,大力学习","5":"贡献巨大,全力支持"}},"shouldApply":false,"subscribeAble":false,"operatorAble":false,"commentNeedJoinCommunity":false},"default2014LiveRoom":[{"itemType":"","description":"高峰论坛","title":"2022 技术英雄会","url":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002Fcsdnnews\u002FfsNR5NWp?chat=1&title=1&footer=1","images":["https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221016050009.png"],"ext":{"time":"9:00","liveRoomUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fcsdnnews\u002FfsNR5NWp"}}]},"isGooglebot":false,"canonical":"https:\u002F\u002Fwww.csdn.net\u002Ftopics\u002F391905121","openUrl":"","isApp":false,"localUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F391905121","typeId":"index","hasIndex":false},"CFG":{"ALIPLAYER_VERSION":"v4","ALIPLAYER_H5_VERSION":"mobile_v1","ENV":"prod","ROOT_URL":"https:\u002F\u002Fcms-mall.csdn.net\u002F","VUE_APP_API_URL_SERVER":"http:\u002F\u002Fcms-community-api.internal.csdn.net\u002F","VUE_APP_API_URL":"https:\u002F\u002Fcms-api.csdn.net\u002F","LOGIN_URL":"https:\u002F\u002Fpassport.csdn.net\u002Faccount\u002Flogin","VUE_APP_DOMAIN_SKILL":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_DOMAIN_PATH":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_COMMUNITY_API_URL":"https:\u002F\u002Fcommunity-api.csdn.net\u002F","VUE_APP_CCLOUD_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fcommunity-cloud\u002Fv1\u002F","VUE_APP_SKILL_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fskilltree\u002Fapi\u002F","VUE_APP_SEARCH_PLUGIN_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fsearchplugin\u002F","VUE_APP_COMMUNITY_ASK_API_URL":"https:\u002F\u002Fmp-ask.csdn.net\u002F","VUE_APP_ME_URL":"https:\u002F\u002Fme.csdn.net\u002F","VUE_APP_CCLOUD_RESUME":"https:\u002F\u002Fbizapi.csdn.net\u002Fjob-api\u002F","VUE_APP_CCLOUD_MAIN":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_UC":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_BZP_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002F","VUE_APP_CCLOUD_START_API_URL":"https:\u002F\u002Fmp-action.csdn.net\u002F","VUE_APP_PRACTIVE":"https:\u002F\u002Fbizapi.csdn.net\u002Fdaily-practice\u002F","VUE_APP_CCLOUD_HOSTPATH":"https:\u002F\u002Fbbs.csdn.net\u002F"},"queries":{"pageId":[],"domain":["ccloud.csdn.net\u002Fccloud\u002Fdetail1"],"id":["391905121"],"deviceType":"pc","isSpider":"","hostname":["bbs.csdn.net"]},"basePath":"bbs.csdn.net\u002Fccloud\u002Ftopics\u002F391905121","hrefUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F391905121","active":0,"navBarFixed":false,"title":"获得字符宽度的问题?","isLive":false,"contentType":{"text":"text","picture":"picture","link":"link","video":"video","vote":"vote","live":"live","blog":"blog","long_text":"long_text","task_text":"task_text"},"liveUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002F","spmExtra":{"id":200,"topicId":391905121},"keywords":"","description":"以下内容是CSDN社区关于获得字符宽度的问题?相关内容,如果想了解更多关于界面社区其他内容,请访问CSDN社区。","mounted":false,"infoNoticeData":{"src":"","href":"","spm":"","delay":5},"showDialogInfoNotice":false};</script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/runtime.2c8d4172.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/common.9ac324e8.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/tpl/ccloud-detail/index.93a5f007.js"></script></body> <!----> <script> window.csdn.sideToolbar = { options: { qr: { isShow: true, data: [ { imgSrc: 'https://csdnimg.cn/release/cmsfe/public/img/ewm.9010d6e5.png', desc: "关注公众号" }, ] }, help: { isShow: false, }, contentEl: document.getElementsByClassName("cloud-maintainer")[0] }, }; </script> <script src="https://g.csdnimg.cn/side-toolbar/2.9/side-toolbar.js" ></script> <!----> <!----> <!----> <script src="https://csdnimg.cn/release/blog_editor_html/release1.7.5/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js"></script> <script src="https://g.csdnimg.cn/lib/editor-page-detail/v2.2.0/js/runDetail.min.js"></script> <!----> <!----> <!----> <!----> <!----> <!----> <script src="https://g.csdnimg.cn/collection-box/2.1.0/collection-box.js"></script> <!----> <!----> <!----> <!----> <script src="https://g.csdnimg.cn/common/csdn-cert/csdn-cert.js"></script> <!----></html>