2019-10
2019-10-04 转义字符
转义字符
以下选项中,不是转义字符的是()
A.\u061 B.\t C.\141 D.\u0061
答案是A.
- 八进制转义序列:
\ + 1到3位5数字
;范围'\000'~'\377'
\0:空字符 - Unicode转义字符:
\u + 四个十六进制数字
;0~65535
\u0000:空字符 - 特殊字符:
\" 双引号
,\' 单引号
,\\ 反斜线
- 控制字符:
\r 回车
,\n 换行
,\f 走纸换页
,\t 横向跳格
,\b 退格
public class EscapeRout{
public static void main(String[] args){
// \u0022 是双引号的Unicode转义字符
System.out.println("a\u0022.length()+\u0022b".length());
}
}
理解这个谜题的关键是要知道:Java对在字符串字面常量中的Unicode转义字符没有提供任何特殊处理。编译器在将程序解析成各种符号之前, 先将Unicode转义字符转换成为它们所表示的字符[JLS 3.2]。因此,程序中的第一个Unicode转义字符将作为一个单字符字符串字面常量(”a”)的结束引号,而第二个Unicode转义字符将作为另一 个单字符字符串字面常量(”b”)的开始引号。程序打印的是表达式”a”.length()+”b”.length(),即2。
结果等同于System.out.println("a".length()+"b".length())
2019-10-08 git中文显示
#不对0x80以上的字符进行quote,解决git status/commit时中文文件名乱码
git config --global core.quotepath false
2019-10-08 批量修改文件名
rename "s/.xlsx/aaaa.xlsx/" *
rename "s/.xlsx/bbbb.xlsx/" *
rename "s/.xlsx/cccc.xlsx/" *
rename "s/.xlsx/dddd.xlsx/" *
rename "s/.xlsx/eeee.xlsx/" *
rename "s/.xlsx/ffff.xlsx/" *
rename "s/aaaa.xlsx/.xlsx/" *
rename "s/bbbb.xlsx/.xlsx/" *
rename "s/cccc.xlsx/.xlsx/" *
rename "s/dddd.xlsx/.xlsx/" *
rename "s/eeee.xlsx/.xlsx/" *
rename "s/ffff.xlsx/.xlsx/" *
2019-10-09 浏览器kiosk模式
google-chrome-stable --kiosk "http://baidu.com"
2019-10-14 git本地开发
git add file ---将文件纳入版本管理
git commit -m "" ---代码提交
git push ---代码上传
git checkout [-b] dev ---切换(新建)分支
git merge dev ---合并分支
git pull ---更新代码
.gitignore ---过滤文件
git checkout -b temp origin/temp ---检出服务端temp分支代码
git reset --hard 789789 ---检出某一提交记录时的代码
git config --global core.quotepath false ---命令行中文乱码处理
2019-10-29 Journal超限
Journal has been rotated since unit was started. Log output is incomplete or unavailable
检查当前journal使用磁盘量
journalctl --disk-usage
清理方法可以采用按照日期清理,或者按照允许保留的容量清理
journalctl --vacuum-time=2d
journalctl --vacuum-size=500M
然后重启
systemctl restart systemd-journald.service
2019-10-31 mp3文件在linux乱码问题解决
大家应该知道目前主要存在这几种标准,ID3v1, ID3v2 2.3, ID3v2 2.4, APEv2,ID3v1只支持 ISO-8859-1 编码 (编码集参考), 严格的说它是不支持中文的 (并不代表它不能储存中文信息,目前中文mp3的ID3v1标签都使用这个字段来储存 GBK/GB18030 编码的中文信息),而第二版 (ID3v2) 支持的格式增加了utf-16,直到 2.4 版才开始支持uft-8,但 ID3v2 标准没有统一标签内容的编码,例如 2.4 版的 ID3v2 你可以使用 ISO-8859-1 编码,也可以使用utf-16/uft-8 这种 Unicode 编码格式。做得最好的是 APEv2,它不但有很好的扩展性,而且还把编码格式统一为utf-8,这样一来只要支持 APEv2 读取的播放器播放带有 APEv2 标签的mp3 就不会存在乱码问题。
apt-get install python-mutagen
# 处理当前目录下的mp3文件
mid3iconv -e GBK *.mp3
# 处理当前目录的子目录下的mp3文件
mid3iconv -e GBK */*.mp3
# 重新导入歌曲列表
2019-11-05 Docker 删除无用的镜像
# 删除仓库和标签为none的 镜像
docker images|grep none|awk '{print $3}'|xargs docker rmi
# 删除不用的镜像 但是存在 一个镜像有多个仓库名和TAG
# 这种情况下不能使用image id 删除 必须使用 docker rmi REPOSITORY:TAG 的方式删除
docker images | grep '192.168.10.4\|none\|192.168.40' | awk '{print $1":"$2}' | xargs docker rmi
2019-11-06 虚拟机重启保持dns配置不变
chattr +i /etc/resolv.conf
2019-11-19 jquery全局处理异常
$(document).ajaxError(function(evt,req,settings){
if(req && (req.status === 200 || req.status === 0)){return false};
if(req.status === 403){alert("请求被拒绝,没有权限访问")};
});