业务上有需求,需要将日语外字替换成指定字符,利用FilterInputStream实现。
1 | import java.io.BufferedReader; |
日语内外字不在常规Unicode编码集内,需要手动更换成编码集内的文字。
外字在本地文档/服务器文档编码集符合文档提供的规则,但是在Stream流内会自动解析成\\uFFFD\\uxxxx
。例如SJIS编码下F141
的文字,在UTF8下编码为E08D
,但是进入Stream流后变成了\\uFFFD\\u0041
,所以要在代码内实际确认一下对应的编码。同时因为外字转成了\\uFFFD\\uxxxx
,所以位数变成了2位,而且外字变换常规字符后可能会由一个字符变成多个字符,对应Byte的切分要注意位数变更。
1 | public static void printUnicode(String str) { |
1 | Map<String, String> convertMap = new HashMap<>(); |
因为项目原因,api返回的结果是6位毫秒(2023-04-12 20:56:31.589183),而存储到db然后导出是3位数毫秒(2023-04-12 20:56:31.589)。
这里牵扯到四舍五入,所以不能单纯截取,需要加500毫秒。
1 | from datetime import datetime, timedelta |
ConfigParser读取properties文件时,properties文件必须有默认的头,例如[default]
,如果没有会报错。
因为ConfigParser默认是读取ini格式文件,ini文件必须有section header。properties虽然也是key=value格式,但是不强制section header。
解决方式是读取内容后手动加上header,然后交给ConfigParser解析。
1 | content = "[default]\n" + open(bathPath + "\\" + file).read() |
前后端分离的时候出现了跨域问题。。。。虽然可以用Jsonp的方式解决,但是axios推荐利用CORS
方式解决。
添加一个拦截器
1 | package com.wordcard.filter; |
1 | from enum import Enum |
1 | import jieba |
import jieba:中文词解析。
from wordcloud import WordCloud:词云图模块,用于生成词云图。
from matplotlib.pyplot import imread:图片加载。