-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathstrfix.html
152 lines (133 loc) · 5.83 KB
/
strfix.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<html>
<body>
<!-- <div id="title1">页数和百分比</div> -->
<div id="title2">233</div>
<!-- <div id="title3">数组内容</div> -->
<textarea cols="40" rows="20" id="txt1" ></textarea>
</body>
<head>
<title>ab</title>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$("#title1").on("click", function(){ // 单事件绑定
//console.log(String(str2ab($("#txt1").val())))
//alert(toUint8Arr($("#txt1").val()))
//document.execCommand(toUint8Arr($("#txt1").val()))
// 要保存的字符串
const stringData =String(str2ab($("#txt1").val()))
// dada 表示要转换的字符串数据,type 表示要转换的数据格式
const blob = new Blob([stringData], {
type: "text/plain;charset=utf-8"
})
// 根据 blob生成 url链接
const objectURL = URL.createObjectURL(blob)
// 创建一个 a 标签Tag
const aTag = document.createElement('a')
// 设置文件的下载地址
aTag.href = objectURL
// 设置保存后的文件名称
aTag.download = "页数和百分比.txt"
// 给 a 标签添加点击事件
aTag.click()
// 释放一个之前已经存在的、通过调用 URL.createObjectURL() 创建的 URL 对象。
// 当你结束使用某个 URL 对象之后,应该通过调用这个方法来让浏览器知道不用在内存中继续保留对这个文件的引用了。
URL.revokeObjectURL(objectURL)
});
$("#title2").on("click", function(){ // 单事件绑定
//console.log(String(str2ab($("#txt1").val())))
//alert(toUint8Arr($("#txt1").val()))
//document.execCommand(toUint8Arr($("#txt1").val()))
// 要保存的字符串
const stringData =String(str2ab2($("#txt1").val()))
// dada 表示要转换的字符串数据,type 表示要转换的数据格式
const blob = new Blob([stringData], {
type: "text/plain;charset=utf-8"
})
// 根据 blob生成 url链接
const objectURL = URL.createObjectURL(blob)
// 创建一个 a 标签Tag
const aTag = document.createElement('a')
// 设置文件的下载地址
aTag.href = objectURL
// 设置保存后的文件名称
aTag.download = "233.txt"
// 给 a 标签添加点击事件
aTag.click()
// 释放一个之前已经存在的、通过调用 URL.createObjectURL() 创建的 URL 对象。
// 当你结束使用某个 URL 对象之后,应该通过调用这个方法来让浏览器知道不用在内存中继续保留对这个文件的引用了。
URL.revokeObjectURL(objectURL)
});
$("#title3").on("click", function(){ // 单事件绑定
//console.log(String(str2ab($("#txt1").val())))
//alert(toUint8Arr($("#txt1").val()))
//document.execCommand(toUint8Arr($("#txt1").val()))
// 要保存的字符串
const stringData =String(str2ab3($("#txt1").val()))
// dada 表示要转换的字符串数据,type 表示要转换的数据格式
const blob = new Blob([stringData], {
type: "text/plain;charset=utf-8"
})
// 根据 blob生成 url链接
const objectURL = URL.createObjectURL(blob)
// 创建一个 a 标签Tag
const aTag = document.createElement('a')
// 设置文件的下载地址
aTag.href = objectURL
// 设置保存后的文件名称
aTag.download = "数组内容.txt"
// 给 a 标签添加点击事件
aTag.click()
// 释放一个之前已经存在的、通过调用 URL.createObjectURL() 创建的 URL 对象。
// 当你结束使用某个 URL 对象之后,应该通过调用这个方法来让浏览器知道不用在内存中继续保留对这个文件的引用了。
URL.revokeObjectURL(objectURL)
});
// function str2ab(val) {
// var qaq=[]
// if(val.length<=345)
// qaq.push(val)//.replaceAll(" "," "))'\n','<br>'
// else{
// var txtnum= Math.ceil(val.length/345)
// for(var sb=0;sb<txtnum;sb++)
// qaq.push("'"+(sb+1)+"-"+(((sb+1)*100)/txtnum).toFixed(2)+"%"+"'")
// // qaq.push("'"+(sb+1)+"+-"+val.substring(sb*345,(sb+1)*345+9).replaceAll('\n','\\n').replaceAll(" "," ")+"'")
// }
// return qaq
// }
function str2ab2(val) {
var txtnum= Math.ceil(val.length/345)
val=val.replaceAll('\n','\\n').replaceAll(" "," ")
txtnum= Math.ceil(val.length/345)
alert(""+txtnum)
return val
}
// function str2ab3(val) {
// var qaq=[]
// if(val.length<=345)
// qaq.push(val)//.replaceAll(" "," "))'\n','<br>'
// else{
// var txtnum= Math.ceil(val.length/345)
// for(var sb=0;sb<txtnum;sb++)
// qaq.push("'"+(sb+1)+"+-"+val.substring(sb*345,(sb+1)*345+9).replaceAll('\n','\\n').replaceAll(" "," ")+"'")
// }
// return qaq
// }
function toUint8Arr(str) {
const buffer = [];
for (let i of str) {
const _code = i.charCodeAt(0);
if (_code < 0x80) {
buffer.push(_code);
} else if (_code < 0x800) {
buffer.push(0xc0 + (_code >> 6));
buffer.push(0x80 + (_code & 0x3f));
} else if (_code < 0x10000) {
buffer.push(0xe0 + (_code >> 12));
buffer.push(0x80 + (_code >> 6 & 0x3f));
buffer.push(0x80 + (_code & 0x3f));
}
}
return Uint8Array.from(buffer);
}
</script>
</head>
</html>