Windows Terminal (Preview)治好了cmd,powershell的癌症
前言
话说n年前,我想开发一款powershell麻将游戏,但是发现命令行下无法显示麻将牌这种特殊符号。
经过研究发现,这是4字节的utf16le字符串。而powershell依赖的渲染引擎,只能渲染双字节的,即65535之内的。
Linux下的powershell没有这个问题。
我给powershell提交了issue,但是没有得到反馈。
随着时间的推移,随着git的普及,unicode字符渲染问题越来越严重了,因为git输出中有很多特殊字符串,用户呼声越来越高,才引起了ms的重视。也就有了Windows Terminal。
命令行渲染引擎
命令行渲染引擎是啥玩意?我以前不知道,现在我知道了。就是conhost.exe。
简单来讲老版本的conhost.exe,只渲染双字节=65535之内的utf16le,4字节的不渲染。
新版本的,对于4字节的扩展字符,现在也渲染了。
具体可以看看Windows Terminal原理介绍。
这是一个重大+基础的东西,但我不明白为什么微软不给旧的系统使用。
要求系统最低版本为:201905月版win10。Win10-18362
在我眼中,这就是在win中新建个conhost2.exe,然后让cmd.exe加参数调用它的问题。
或者新建 conhost2cmd.exe ,,, conhost2powershell.exe。
图示:
图1
图2
图3
结论:
1使用这个新的conhost.exe,或者说使用Windows Terminal (Preview),最大的好处,就是给cmd.exe,powershell.exe,pwsh.exe带来了显示特殊字符。
2 不要直接运行cmd.exe,powershell.exe,pwsh.exe,要使用套在Windows Terminal 壳子中的cmd.exe,powershell.exe,pwsh.exe。
Windows Terminal (Preview)治好了cmd,powershell的癌症的更多相关文章
- Windows Store可以下载安装Windows Terminal (Preview)
Windows Terminal (Preview)已经可以在Windows Store下载安装. Windows Terminal (Preview)运行要求为: Windows 10 版本 183 ...
- Windows Terminal Preview v0.7 Release
Windows Terminal Preview v0.7 Release The following key bindings are included by default within this ...
- 玩转 Windows Terminal
今天给大家分享一下Windows Terminal的使用及个性化定制. 一.安装 该项目的开源地址为https://github.com/microsoft/terminal,如果想折腾,可以按照上面 ...
- Windows Terminal入门
目录 0.引言 1.简易安装 2.初识WT 3.初识Settings 3.1全局配置 3.2每一个终端配置 3.3配色方案 3.4键位绑定 4.连接云服务器 5.连接WSL 6.玩转Emoji 0.引 ...
- Windows Terminal 新手入门
翻译自 Kayla Cinnamon 2020年12月17日的文章<Getting Started with Windows Terminal> [1] 安装 Windows Termin ...
- 使用 oh-my-posh 美化 windows terminal,让其接近oh-my-zsh
本文旨在快速让你进行美化,少踩一些坑,原文出自我的博客:prettier-windows-terminal-with-oh-my-posh 为了同 iterm2 下的 oh-my-zsh 保持基本一致 ...
- 黑科技抢先尝(续2) - Windows terminal中Powershell Tab的极简美化指南
目录 安装python 安装git 安装powerline字体 主题定制 安装oh-my-posh 查看策略组的执行权限 使用choco 安装终端模拟器 - ConEmu 优化 PowerShell ...
- Windows Terminal 安装及美化
windows terminal 是今年微软Build大会上推出的一款的全新终端,用来代替cmder之类的第三方终端.具有亚克力透明.多标签.Unicode支持(中文,Emoji).自带等宽字体等这些 ...
- windows linux 子系统及windows terminal的使用。
windows linux 子系统及windows terminal的使用. windows linux (wsl) 其实windows早就为我们准备好了子系统,但是我们的应用商店经常挂掉.因此都用不 ...
随机推荐
- Http Header的Transfer-Encoding
Transfer-Encoding,是一个 HTTP 头部字段,字面意思是「传输编码」.实际上,HTTP 协议中还有另外一个头部与编码有关:Content-Encoding(内容编码).Content ...
- tensorflow查看使用的是cpu还是gpu
https://stackoverflow.com/questions/38009682/how-to-tell-if-tensorflow-is-using-gpu-acceleration-fro ...
- TreeViewItem节点添加图标后再加header
1.需要实现的效果如图 2.解决方案 1).给TreeViewItem中添加children,children为包含一个stackpanel,在stackpanel中包含Image和TextBlock ...
- 为什么要做外链建设?seo优化与发布外链速度有哪些联系?
对于SEO员工来说,我们每天都在处理网页.从内容创建的角度来看,我们每天创建大量的URL并进入索引状态.与网站的受欢迎程度相比,网站每天也会生成大量的外部链接. 实际上,相对于链接而言,它满足了搜索引 ...
- PlayJava Day002
今日所学: /* 2019.08.19开始学习,此为补档. */ 流程控制 条件: 一重用if 二重用if ... else 三重用if ... else if ... else 多重用switch ...
- DB2 catalog 编目
(步骤)ap用户: (1)进入db2 db2 (2)catalog database 命令 catalog db list (3)查看本地节点目录.IP.节点名.服务名称.目录条目类型 list no ...
- 易优CMS:关于assign你知道多少
[基础用法] 名称:assign 功能:模板文件中定义变量,可在其他标签里使用该变量 语法: {eyou:assign name='typeid' value='5' /} 文件: 无 参数: nam ...
- 告诉你如何在Xcode中安装炫酷的插件!!!!!
(如果你已经有了自己喜欢的插件,你可以直接找到该插件的下载地址,下载下来,参照下面的步骤来安装到Xcode工程之中) 如果还没有找到自己想要的插件,那么推荐你在开源中国社区http://www.osc ...
- python 逐行读取txt文件
逐行读取txt文件 path = r'D:\123456\1.txt'with open(path, 'r', encoding='utf-8') as f: for line in f: ...
- 6.JavaCC官方入门指南-例1
例1:整数加法运算 在这个例子中,我们将判断如下输入的式子是否是一个合法的加法运算: 99 + 42 + 0 + 15 并且在输入上面式子的时候,数字与加号之间的任何位置,都是可以有空格或者换 ...