mingyang_text 2022.10.27 → 2023.1.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/text.js +46 -29
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mingyang_text",
3
- "version": "2022.10.27",
3
+ "version": "2023.01.28",
4
4
  "description": "MingYang Packet",
5
5
  "main": "text.js",
6
6
  "scripts": {
package/text.js CHANGED
@@ -1,9 +1,9 @@
1
1
 
2
2
  /**
3
3
  * 对【数字】或【字符】进行【左侧补齐】操作
4
- * @param {"数字或字符"} args_Input
5
- * @param {"目标长度"} args_Length
6
- * @param {"占位符"} args_PlaceHolder
4
+ * @param {"数字或字符"} args_Input
5
+ * @param {"目标长度"} args_Length
6
+ * @param {"占位符"} args_PlaceHolder
7
7
  */
8
8
  function func_StringFormat(args_Input, args_Length, args_PlaceHolder) {
9
9
  if (args_Input.toString().length > args_Length) {
@@ -21,8 +21,8 @@ module.exports.do_StringFormat = func_StringFormat;
21
21
 
22
22
  /**
23
23
  * 生成随机数
24
- * @param {"最小值,随机数可以选中最小值"} args_Min
25
- * @param {"最大值,随机数不会选中最大值"} args_Max
24
+ * @param {"最小值,随机数可以选中最小值"} args_Min
25
+ * @param {"最大值,随机数不会选中最大值"} args_Max
26
26
  */
27
27
  function func_Random(args_Min, args_Max) {
28
28
  let temp_Val = Math.floor(Math.random() * (args_Max - args_Min)) + args_Min;
@@ -37,7 +37,7 @@ module.exports.do_Random = func_Random;
37
37
 
38
38
  /**
39
39
  * 格式化时间
40
- * @param {"时间对象,如果传入空,那么将使用当前时间"} args_Date
40
+ * @param {"时间对象,如果传入空,那么将使用当前时间"} args_Date
41
41
  * @param {"时间格式,例如【yyyy-MM-dd HH:mm:ss.fff】【yyyyMMddHHmmssfff】"} args_Format
42
42
  */
43
43
  function func_DateTimeToString(args_Date, args_Format) {
@@ -75,9 +75,9 @@ module.exports.do_DateTimeToString = func_DateTimeToString;
75
75
 
76
76
  /**
77
77
  * 根据给定的左右标签,提取父串中的子串
78
- * @param {"输入文本"} args_Text
79
- * @param {"左侧标记"} args_Bin
80
- * @param {"右侧标记"} args_End
78
+ * @param {"输入文本"} args_Text
79
+ * @param {"左侧标记"} args_Bin
80
+ * @param {"右侧标记"} args_End
81
81
  */
82
82
  function func_Filter(args_Text, args_Bin, args_End) {
83
83
 
@@ -201,7 +201,7 @@ module.exports.do_TimeID = func_TimeID;
201
201
 
202
202
  /**
203
203
  * 从【16进制文本】转换为【普通文本】
204
- * @param {"16进制文本"} args_Hex
204
+ * @param {"16进制文本"} args_Hex
205
205
  */
206
206
  function func_Hex_goto_Plain(args_Hex) {
207
207
  let t_Buffer = Buffer.from(args_Hex, 'hex');
@@ -211,7 +211,7 @@ module.exports.do_Hex_goto_Plain = func_Hex_goto_Plain;
211
211
 
212
212
  /**
213
213
  * 从【普通文本】转换为【16进制文本】
214
- * @param {"普通文本"} args_Hex
214
+ * @param {"普通文本"} args_Hex
215
215
  */
216
216
  function func_Hex_from_Plain(args_Plain) {
217
217
  let t_Buffer = Buffer.from(args_Plain, "utf8");
@@ -225,8 +225,8 @@ module.exports.do_Hex_from_Plain = func_Hex_from_Plain;
225
225
 
226
226
  /**
227
227
  * 【主字符串】是否以【从字符串】开头
228
- * @param {"主字符串"} args_Subject
229
- * @param {"从字符串"} args_Compare
228
+ * @param {"主字符串"} args_Subject
229
+ * @param {"从字符串"} args_Compare
230
230
  */
231
231
  function func_Bin_With(args_Subject, args_Compare) {
232
232
  if (args_Subject == null || args_Compare == null) {
@@ -247,8 +247,8 @@ module.exports.do_Bin_With = func_Bin_With;
247
247
 
248
248
  /**
249
249
  * 【主字符串】是否以【从字符串】结尾
250
- * @param {"主字符串"} args_Subject
251
- * @param {"从字符串"} args_Compare
250
+ * @param {"主字符串"} args_Subject
251
+ * @param {"从字符串"} args_Compare
252
252
  */
253
253
  function func_End_With(args_Subject, args_Compare) {
254
254
  if (args_Subject == null || args_Compare == null) {
@@ -274,9 +274,9 @@ module.exports.do_End_With = func_End_With;
274
274
 
275
275
  /**
276
276
  * KeyValue解码
277
- * @param {"源字符串"} args_Plain
278
- * @param {"分割字符"} args_Split
279
- * @param {"等于字符"} args_Equal
277
+ * @param {"源字符串"} args_Plain
278
+ * @param {"分割字符"} args_Split
279
+ * @param {"等于字符"} args_Equal
280
280
  */
281
281
  function func_KeyValue_Decode(args_Plain, args_Split, args_Equal) {
282
282
 
@@ -299,9 +299,9 @@ module.exports.do_KeyValue_Decode = func_KeyValue_Decode;
299
299
 
300
300
  /**
301
301
  * KeyValue编码
302
- * @param {"源数据包"} args_Datas
303
- * @param {"分割字符"} args_Split
304
- * @param {"等于字符"} args_Equal
302
+ * @param {"源数据包"} args_Datas
303
+ * @param {"分割字符"} args_Split
304
+ * @param {"等于字符"} args_Equal
305
305
  */
306
306
  function func_KeyValue_Encode(args_Datas, args_Split, args_Equal) {
307
307
 
@@ -330,9 +330,9 @@ module.exports.do_KeyValue_Encode = func_KeyValue_Encode;
330
330
 
331
331
  /**
332
332
  * 【十进制数字】转成【它进制数字】
333
- * @param {"来源十进制数,例如:110715"} args_DecimalNumber
334
- * @param {"目标进制基数,例如:62"} args_NumberSystem
335
- * @param {"目标记号字符,例如:0123456789ABCDEF"} args_VisibleChar
333
+ * @param {"来源十进制数,例如:110715"} args_DecimalNumber
334
+ * @param {"目标进制基数,例如:62"} args_NumberSystem
335
+ * @param {"目标记号字符,例如:0123456789ABCDEF"} args_VisibleChar
336
336
  */
337
337
  function func_DecimalToOther(args_DecimalNumber, args_NumberSystem, args_VisibleChar = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") {
338
338
 
@@ -362,9 +362,9 @@ module.exports.do_DecimalToOther = func_DecimalToOther;
362
362
 
363
363
  /**
364
364
  * 【它进制数字】转成【十进制数字】
365
- * @param {"来源进制数值,例如:TO80HHL"} args_OtherNumber
366
- * @param {"来源进制基数,例如:62"} args_NumberSystem
367
- * @param {"来源记号字符,例如:0123456789ABCDEF"} args_VisibleChar
365
+ * @param {"来源进制数值,例如:TO80HHL"} args_OtherNumber
366
+ * @param {"来源进制基数,例如:62"} args_NumberSystem
367
+ * @param {"来源记号字符,例如:0123456789ABCDEF"} args_VisibleChar
368
368
  */
369
369
  function func_DecimalFromOther(args_OtherNumber, args_NumberSystem, args_VisibleChar = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") {
370
370
 
@@ -400,7 +400,7 @@ module.exports.do_DecimalFromOther = func_DecimalFromOther;
400
400
 
401
401
  /**
402
402
  * 【10进制数字】转成【62进制数字】
403
- * @param {"10进制数"} args_Base10Number
403
+ * @param {"10进制数"} args_Base10Number
404
404
  */
405
405
  function func_Base62Encode(args_Base10Number) {
406
406
  return func_DecimalToOther(args_Base10Number, 62);
@@ -409,9 +409,26 @@ module.exports.do_Base62Encode = func_Base62Encode;
409
409
 
410
410
  /**
411
411
  * 【62进制数字】转成【10进制数字】
412
- * @param {"62进制数"} args_Base62Number
412
+ * @param {"62进制数"} args_Base62Number
413
413
  */
414
414
  function func_Base62Decode(args_Base62Number) {
415
415
  return func_DecimalFromOther(args_Base62Number, 62);
416
416
  }
417
417
  module.exports.do_Base62Decode = func_Base62Decode;
418
+
419
+
420
+ /**
421
+ * 按照字节长度截取字符串
422
+ * @param {"原始字符"} args_InputString
423
+ * @param {"目标长度"} args_ByteLength
424
+ * @param {"编码方式"} args_Encoding
425
+ */
426
+ module.exports.do_Byte_Truncate = (args_InputString, args_ByteLength, args_Encoding = "utf8") => {
427
+ let temp_Description = args_InputString.substring(0, args_ByteLength);
428
+ let temp_Buffer = Buffer.from(temp_Description, args_Encoding);
429
+ while (temp_Buffer.length > args_ByteLength) {
430
+ temp_Description = temp_Description.substring(0, temp_Description.length - 1);
431
+ temp_Buffer = Buffer.from(temp_Description, args_Encoding);
432
+ }
433
+ return temp_Description;
434
+ }