From 3fedb2a083518a3552e456525b5e8cd08b365449 Mon Sep 17 00:00:00 2001 From: 1552980358 <1552980358@qq.com> Date: Wed, 3 Jan 2024 23:25:56 +0800 Subject: [PATCH] DecodeIndex: Fix invalid value of PADDING_MAX --- .../org/ks/chan/c2pinyin/decode/DecodeIndex.kt | 10 +++++----- .../kotlin/org/ks/chan/c2pinyin/decode/Encoding.kt | 2 +- .../chan/c2pinyin/decode/encoding/EncodingBottom.kt | 11 ++++++----- .../chan/c2pinyin/decode/encoding/EncodingMiddle.kt | 13 ++++++------- .../chan/c2pinyin/decode/encoding/EncodingUpper.kt | 8 ++++---- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/main/kotlin/org/ks/chan/c2pinyin/decode/DecodeIndex.kt b/src/main/kotlin/org/ks/chan/c2pinyin/decode/DecodeIndex.kt index 035fefc..bc4cc24 100644 --- a/src/main/kotlin/org/ks/chan/c2pinyin/decode/DecodeIndex.kt +++ b/src/main/kotlin/org/ks/chan/c2pinyin/decode/DecodeIndex.kt @@ -44,7 +44,7 @@ internal val Char.tableIndex: Int * [Int.pinyinIndex] * @access Private * @param encoding [Encoding] - * @param charOffset [Int] + * @param offset [Int] * @param indexRaw [Int] * @return [Int] * @@ -52,11 +52,11 @@ internal val Char.tableIndex: Int **/ private fun Int.pinyinIndex( encoding: Encoding = this.encoding, - charOffset: Int = this - encoding.offset, - indexRaw: Int = encoding.calculateIndex(charOffset) + offset: Int = this - encoding.offset, + indexRaw: Int = encoding.calculateIndex(offset) ): Int { return when { - encoding.checkPaddingCorrection(charOffset) -> { + encoding.checkPaddingCorrection(offset) -> { indexRaw or PADDING_MASK } else -> indexRaw @@ -77,7 +77,7 @@ private const val INDEX_MAX = 0xFF * * Maximum padding of pinyin table **/ -private const val PADDING_MAX = 0xF +private const val PADDING_MAX = 8 /** * [Encoding.calculateIndex] diff --git a/src/main/kotlin/org/ks/chan/c2pinyin/decode/Encoding.kt b/src/main/kotlin/org/ks/chan/c2pinyin/decode/Encoding.kt index b664c92..8d39176 100644 --- a/src/main/kotlin/org/ks/chan/c2pinyin/decode/Encoding.kt +++ b/src/main/kotlin/org/ks/chan/c2pinyin/decode/Encoding.kt @@ -8,7 +8,7 @@ import kotlin.io.encoding.ExperimentalEncodingApi private const val OFFSET_PADDING_START = 0 private const val OFFSET_BASE = 19968 -private const val OFFSET_ENCODING_PART_DIFFERENCE = 7000 +internal const val OFFSET_ENCODING_PART_DIFFERENCE = 7000 /** * [Encoding] diff --git a/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingBottom.kt b/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingBottom.kt index 10be4a1..e1ae4ad 100644 --- a/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingBottom.kt +++ b/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingBottom.kt @@ -1,6 +1,7 @@ package org.ks.chan.c2pinyin.decode.encoding import org.ks.chan.c2pinyin.decode.Encoding +import org.ks.chan.c2pinyin.decode.OFFSET_ENCODING_PART_DIFFERENCE /** * [EncodingBottom] @@ -8,17 +9,17 @@ import org.ks.chan.c2pinyin.decode.Encoding **/ internal data object EncodingBottom: Encoding() { - private const val INDEX = "6/n5zjBVVnKEg4EVGU/EcjeDyQBfsVVmpA9SXDcnPLcROFcLZmsOkWwAXhsAowCBqRikbwBry0JeVEWI8AOrMVX2A4cuhlBJGm9oga0OtF8Vf7f9vWSogRBscD80tCMhP8divRQ/N4EcYG95BcSzM4YX94TEMdt+jmqD2SlqniR5Hpj8uxl4/Uerr5gCDqlQgfwmU8PoIEFihRMTp2/+KXqDvHIKbgS0Cn5NQFWNlVIRVp4vE2NfWo07VEUxWVVtUSL6g3I3sG9WUoF3MT6nYHJvVXIUcgJQflCBMFi1x2iohBgl/auUcDhAPGEOfjerU0RZZlopg5N3FltiZgczKWJK9VDWKLwR8zr6dySDUNhrXzFZ+lKDX56GDz/Eo4d2xgL/VwDoVzS4aF9aqWihp4U/hfE/Zst8EFMzO0kC/lCxfilfcgCpiIgCr3dgJKKAS1QTE/p2tDRJvnL1b2KBiWDLADSJANwUCWhXb4urq2r9a7JGUHGwBGZTxKOeo4E7AKenRVeFUJ5+e6mBxKd7t4HStIMAAKcFWWi1whF5ebTmuIVZ/Cl5XzdaX1+0eW9yhYttCmR+fp4IVSknA0KBA0QnAD+BI29dkHd+w2A2Vh8naLtYVE3pJvxRURMJ8XFxjvoIavoYcI1+/PqGY3LNT1ZWcWR3WgiGWiZHClfYPgNufPYmbnNwi6laCHxl8RRXiEIRE2YIBCNDsGY6ZmupJQTMYDB+fr5aZUyuiGhXoIWpaPaBbiNoT8sC/2tkhb0AgYLSMfpcrgMibYJJIwdNcClgVyWDWleBVFqppA4pcG6GOmREQUl+U4UyVYvE+vpvjqHD/TFVtqlDQj2fXXBvCVXxUEtocDQF/BPYAVCsbU5GTQiPTxhla20gAKGUgVpEvF/Fb4YnYH1kDxBQWnDBUFoSWm5uv1ZrJyc8iJFAWnCew6FIeQNDqWdyi9CzLg9rhEqk7DFVVVVwUqszCA8PgVRecABoDno8aEjPc3lVu8loUWs/bxkAAL0AIScaJj8FtFCFPCTzBPFvg7ezAIZqhCtRhU6Bgbu7ba2/VTGpvVkAf75Yy5AxAz6F8PCFBBGt62tVgYt9VaWNjX5qIIUgCllUJ2IxACU7qVogaIg4IPqQWCO3AGsfqXhgq4h4Wr5a+g+Dw3IRgI+GEnPHU6eGocSpLqkD3LRIWYiyqbJXZ/EJZoxrAFUYBAVIGL0Ehoh8YX3l7uVbhstQx8cnXGSRcACwYClXRbKGV2N5UDwnUDyOdgRoaBVdbxAeaCAkWmxWK4bOhjoOhoZa+loIhQwAh45wwR8F234IgkuwOQrtZpcOIjuLc2Feg2jpFD9MWmyFhQjraL8AzphgIAQLb1UAFABaaCaZDISCNsuGUGARiGtqF64AAIw7AJ+V2ymCnyWpjCX4YGhvJLEDB4FoFYwuHgepq6uZg1k7Dmw9cLAmIShMEKwh7u5VcLdtZEhAhYv6gYVnlQBAJ1onWg9Dn0leXnNwCgpab0hkfgspuAAAcjllOHsPcBHPiTgISiYZ22uG/HuZq6OpgSe4aENaV1AQGoH9HApYAPmDi4OVgTpzUxRYWxEKvaMFTH4aNuAgqw6HOyk7DqP5EYUAKUwnB1oUJKKyVVejgTkAdSeD62gAY1VVZlc7AABaBnOBgYNpD2RrjfK/xMTHJzF+t43LQqtmhY5VIFBVQW+jTUgA7IHJ9mUEfodpPoO3BINQjQS3oyU/aYNpZGvEJyCjjYFVP0FvZYcEhYqHM42FIoFmOpU/IXoFYIWGa2QphnwDXDTYgbSFiA5ceSFkhWEpVWipjVVkVWRkRFoDA4V3gVNiQncePV+GaAxiaiD6S4Fiak1WY2YyJWpbjVnTJG6FXVRbIiNXFo5faGg0JnMlc1+DiIRlkJB+ZlqDQ7A/ZanS64ddJ4sFfEtoBID2Dl0pBjiTPYgwgW1fYmh9cycehSd1HmVrBX6GelxYfiUoRcR+yU1+ZF1nUA1CJqeInZpUbz+BhQw0pE2dUSdEOgsgbnb+ACoDb1klhldUVF8y+X6IMIMwSAAhLoaUBDFZNk9gVSY5aM5qQvEvICSOgfo7LVCLAYOEeJL8j6yDiHK2JRB78m9DX/InYCd/ek2GP1pa+USD+m+QK1V+agNX0CRXiGVkdmBg5PrMZ1AAP5IggxQAfYBga8RZxFX9JOYxNAkm/CeEcFphPWZmeW8QMQGpy8shgcqDeHyrsxjoaVWPBQWHgWh5hL0icHogX3sbVSNKhNKjTWuNgZaFFH6LVIN8J/47evkmYHd+Ozb8gYWIq+FoAn7xfnpoaCAJ4fyNOXmHcthrg2+DfkiBYHWnJVAgqWgPgWRNKFAoZiAJaqMkgIF8dWg7fmRIZIFEWgyBhnc9CSD6S2JoYoEMhH7oi2PTX022XTJXI1SNhGZz9pMnXXw0gz+HMASADmhonacnZyeGfiWIJXo6ZQVrYmiEXFgef1+HhlRv/lRfbn6dMDJOAYiS5EiPVZRQbyQlQiCsjjY7JWjMJEN9g1phZ1BNb2AgkANkP8TyX8s7NFpmCSf8xIe9gYPKO4P+o/mNZPx+JGb8d2ONd3B3+lWArXBIskeE+iZXPk4OKVdXhYVkZCcpfkpoSmiDBnhNM1h8g5VcBFpVEnJviIJWVXlRfBI/kVZohQofcPHO8WVMbkLLMV58n3NzywO/qdgOb4JIv/FVTYvLKTt8BAuDcFoXZD5ocU71gFM7aXiFUIgnDpBQa/IPvDkmnVVDaCa/cw60r35c8pCCX3mFXHaDa2KDIxISAyMrdoeidTEkIUHuY1e8gzZaOjExhYF/SIddL3IKdKJXGYEmAotaZRd4rVAHJIuFjRByezt1ZAAgTmuHXVd2DkgpZABgsl12C4NacGQXeFcHf4CFUzv1D2WIaVCDDidDa505v1VzaHmFgn6Qr7R2kFyHA4OiI1pIgSkhMA6HY+46oleNWosXeGR1cnsga10mVSPQXVUlcyWBVjySkqmKWoBd+iACAFcwjQAmMCQkQ4siPxt+iHEEhiYpZ2GQQkyuXTgzVYA0aouDBjwvNbQEOwOQQAQmff7+ZndxAHV1k+kKmXNLjVokg1SFOXHp+nH9Szpo2bDBBkOZS4Iw7fuIi0OFWuuLIBTYi6liaIE5V4VMKQWaimsCnlgmtA2FgkIXgzj+DldMgYuBKUcpXNxZFGEHzCmsbYUoWQA5g/pTUC+GgdyLi7a0qHuLJk4FQBST//ozkReR64WEQYVvTEsubYY/fCQqg2c8i1qTQ/IQ5EAeSYM8N1U5/X5BQIHc67F+Die0rTM8OTRVnoGF/T+9kasNd9kRSYs+HVdTKYZLFDOTjY2vOf7++a1LNJ13OQ4OiIsp/ksogVRx2a+uhamFIClJULKvV1CUo1oJWtw5BIY0lFWeja8lZDoABEBMTGSkALcCgYs8AABkAJIEs6VMhQBAPABvI2NrjlBxWz9gUwwg/SlKJDlNzvq/Egz8i3d5BH0/sDkFg1OdBPALZmbtiA9NBoeFZpRoASf2UAKLhWq0kAWHdIWLrG8ibnxygU5aAYfYsIF+rJB+Ty9tkWjw/GzZ9mkLtuqsEhCBZVcrMi5gbncpWpBaUQx+b1E9ZoNWcLSKIotQfwAjhX75pVZTr2AbkXxogUpQb1d3p+6pqbSvI2NrYDkMi022EndmlLSHhWh5g6lmASd0hYWHBbSFgVqs2Qt+bE+sL5AyWoFRKe5wVn60ga9bZjAw8ZUPoaEwYQgPDw8ADwgwDw8kEeDggy8vAA0PDwAArTggXfxvb/piaG28+nNPAI5rQHKHcWNTVDlNb4IAh3BQqyYj2EKFaImCJDlQP/dPQ3g9KUsAiH5FbsQNgc9oho2uYkkyJz3seNhLiWBiFW5ZA0aIAz8/R4hAR2iBRWpUJyU0dwdXqzh+qQCVDDeNDXw5tG6Hh28vnlBAaDhwtw7kbzs2SzZkKyZAbyeDbnJND21NVn0DPDhQAGhlZimxYjk/JnA0OfwAZml/BScbNDR3gUuFsyY3r5YK/GBvaFStiycOZrxaNnx+PlDGDw+hqXBut6loRD76bSBwb74RAgCdWpISVFzOACUJcDaAWglUi25wOgMO8RMiC0w/kmevnWuIJ5lvXHP/hYFieFyFVWvkpIKbhKRyZCVHVbhaVFpfcqSCY45rFFULqXIVWfrxAW0AO5L2otgkbhVYOott/mhHZMEVC01vjG9yeJ5YWDM8yVURKZCSi1RYcnJtDr8iWq1qi3n+ZH9TVF8+DlsOHVCEvyCv9zrDZxqbV8OSnat1IG76ZCA3sHxVV3WpbkQDj+6HaF1vimSVvzpfRoNWAAByOkH7S5dwZjRSKDnJpS8obkWFV4QlakeFwZk1p/mVb2Qn2lC0o2Q97n4uO5UvM59AV0h5X1w7Ay5yUpQzxAUoN3JtBHxvPITzpW+pd6VohBWFVTtS4Gipi2Ro2hFiKGSwxMTaW4UnxGQPFyduJyephmesqYeHW2itPIBEqQNzWoOFBrVaz0Ig/pgrkFNvenBk+r6DPzFVaB85R1Xl/ACD8WdqBlQkg0ZxZFoVzltNjUtlavwIgQwi31ZyaADxbXdqjidohtxcDoA6kgC0AABMkNhHJ8hmlLATaGYG8W8xlxVuQYKDJydDi345I2CACnMOJiknFIgmc/dF/Fp9sfxaqXHxZQgUhmUphM3YVT+CzTslaDGdjwuDRVx3hSZQYBMnzIJqjocnIUXLp4FvXww2hQIgJldcBfFoiHjJmmZXV16OHqWBbRHEaGpqA0VuG5P8tQACQnATJ5YDWYFedkA3Z2SGR7jBpE5bcgtUNG8gRBRwgnc0VyBOhTFgVFRCZI+5XAAlcABnKXuLV02++aknEyVfqT4AiABHsZWLIXCDXkI9IbZtsAu0qQHujMiV8APxV2ONpwGXOZ9IUC2QhAzcMS47RPr8j/pvh2m/IUFVqz1mNymDtMO0ehBbopWNAM9OdQA9VwCArADCkGs/q21XSEdQMVoQgU0QJEB8d2VJVm+WXH1QWoAe/yN3nuTM/v54g4B8Z8iDSYMxnnlgdoaDD4aQXmfB6gKGAMEeOQlWqzhVsZNn4VIPPDj9YDAtFOs5DhlekFRrfUKxkDceM05yg4O3aHA83FWCYLuMDwA4AAAAzrQ4mJNIXmlgqygFvcu3DlCxP/6AarQFlv01+iE8vW0gV4gQKbNeMbJ1gxqpVlWSAA0AAIS0eoH5fv33rzheGCWeGLHSffQ2U/4rZTxYjYWWrYalSjt1gYOGPrNrSo3hQPlDAABEIJCDVTa0jH5vq4/+/I+nDkN8Z0xtO4tWOAtoAjtiQoh2jYHcOYABEmue3l+Dg/0ehcepp4GUnSHwoUgwL7gQCrQAALJNtFuDoxSDZiBYg1VpGdynNATrt5S1d9yNPCmjh1tog0SA961H/CsgFlNCwuVlH1xcFTqLSyKGzgteCPxmAI5UZZJUgEbfBm/8hPxmFJT3FRRxlM07gkFuQxSwMPy/CidgSw7Y8Uxck6VQvmNuJYJn0oU7RbhCapB8iFdERVd6BR5uZmDJhBuFaCAnPANqEYil+VSiPquWWTipeyltX01eN7lXW7GQgxNApACLAQGB5De/DPo9lJ8hVWa3LY2HhVeMgO47RIOLw5D/a5D9MU0e/oZJM318AkjBs5BVwcuDFGDcPIzczrFyCWiCEg8QPL23DW2IP5NgsSCNrfm0S6P5NP0+gKd8j6toHhChIFghIYoFQwStxH/CuywggMJkDnAOAJCSDXcUGFdXg8hWyEd80gDwlLAPDhRzaWBzUil3a8gAn6S4RB5kcXEgBK8hH59kyGRNf29RWABYBGZRCANQaqAGo0gAAEHcOJBzBixpR/qePGnzkVV+IPE7fDlRAMIsIGRwDlEsFFBXd4PIksJ80mtROci4kFJgc5+KcaRIb2QhVVF/ZGQgowR+oAZzQTgGkXxaWqZKW/xUaEtqZUdNJgjulnIShfGIVGVqg4YlTQQ/k5dBsAFLS/cTWoG0siRcTLPLhClMV1BrVFwgjv5cLloOICAmhflHcIMpV4Xcclfu7pJoSrZqiy0k8bA9V7QAV2qIZQ0gJ2Rqb0BvslBQ3Eo2A32GNmpcZH5gclRQAlU8gX88BVVqFgqvST7xNjZvV1bYUIE8VWqFfrJVqampjXOFN4zQaAZkAGNdY4FmfIVljjBtiyl5c7dvKEI2cIAtaSlzbYE2KLGp0GFzgYFvb2HOWRvNUVbscqmpZbCnAwrDQTtxVIBfgc0kWXxEg+7BsPoogB5VUn5r2ChKrwBGa1SwLbBWd2q8y3KxwxJUUKBqVWgCOj5Xb7SyOYHsZQbxUABVgbzDw6epgAJVObKwAlepCgBzcxMBAYj6g4glAYiIQYhBVVWTxMXF7WdBfmdgRAyDDD9IVAwAh2HfBmoWDMuTOAhoZj0LgnftZctqgj2BWgMDdWRkOP5EvWs2Qv5glw05fxOgi6FaEAloAwNzWc2Lgw8/gwA9ZTkLWutgDqA8s2v+YYGDhCA4gFf8SEyDo1AMWsGMYFD+cCEAEGIjUGALPWVyXw5QfilMSFAMWnBQcj2KildaV4Fqc3Iit/B9a3LwampYeWdEAetYL3BfaF9mMp76cW9OCEs/Ouv3sCWIp3P+TU1QhmclaGiUSvL2p1qCRn6egqZEJWuOeXCISUn1okmQkC1EomRw/JQ1iQBoF0BNTWR/kW2LZFdbaHAZQUGEmaet82i9+mZy/mZi/H5+EXcSV/W0o9wFZ0QBcFgvX19OZkv6CDJxb7Sw94iGgkRza4mUaPV+SXBra5RAbU2LZE3cvUEZcqd+EfUFVxAAWlZ+EBZSOq5nYCKLEDFQZWYzkBpTsVWt8/OxEBAQrQAbVxBXZX4QFosxM2ax8xAQVVNVVScnGIFEMUuDN1hKDG+MJmpTUzdqiGh9DoY9sTBDMQonTG8MQYWCE2ZFMFhlZVBkpmgYFNRNFY5HNG8nZn9tJ4ONE1cVZztVf1BpTeN/eX1DfoN4c1xWUGYeMjwUX1WesTM9Z3LLPL0Ob16HGJ6LICY6aIEKJW09flh+Vm/DZMsgWLeU0SdEgUtcSlUMbyZTaoMnCjFMaFAKWHOmhVUTFEdNb9SObX9XaR6eZjMgZ8sUsV6HvRiL0SiebVhWBtgOFEdwVYNkAlpXUVtWEly7b1dwP0tLJmKIhe5bDhZqUYU6uG4UCptLaARRBIkUgHDwh4uI4ovxdoKwgzpaZScOS0sxsbvyPYUPP0ZiBSWJUG8UAGq3ADpasYsyAL6scEdgSY5NJVwCtI2HI/KfPaKRlPr6ZFUaZIZmVPIx8vxVfYOAb0AFVpGeEDFnS54z/CWFsew/VRpIZHCSGiCphS20Vbd/ywUY8zEEDoVvX3oUNFmvfkuxS3s7hUNkt36IaGdLEpJk8Lg/WIEti1V8qRC7b0tiJgQOFLh2JzFai5KIS+KCaDpZu2qFerdv8hCpJWRcAI76+pSNkTQY8oWeGlQFsfwg87cxfoeBLVhmUFBQb11oBEaGFA4wQD+Zb/54mmBJY/IOlPtvNrMUWQkUN5wSy62z0kh2NkASnLRfX/6T/qV3EJ+fQFReCL86nxJSQvGQUghA7fG/WlAPBABeZ4HwiSIeQKkSkUDwMoQFkS+DTHmhivqrgxLwyxi9vR1frvz84Hyb3hKuCUdH0ndVR5FHR4ohb2+pjFr8a5GxayFva8GB+oaefwb3wV9kWaxvSfpPrFCDJvMOy4FfKGR+bzwMgQZ3S0KBb00GHnFKy1wlU3DxtFF5tHNUVs5uAABzVgRw8bBLBgP2Wg6BUItCBm5s8dlcOgpafItmAAAAOYYqeFhQA1BCiGqut0Vo+hNQhflrV2B+AACTAEyOQMUiczgAb9SBbGMAVANEWnwoqR4eX8MAAAAAbdiQ+gFY1C6BQv9mh0aiVdhon7SKIYi2sJKpw5GF2QAAACcaf0B4XIuhkYEPD3wFgVBQby4QQ32rZAMDgw5NZVoXg25LeQAVAFGDclTsGrG7JydpkD85ZmAP/PpRFQCrBaZ+yIFCBIMavVUDEIGBiIQDi21/kmERjQRYFIViNH2WICBTa69ixlUAWFZpeJt5Gn5dayapIQAAAhGBX4AAqa6px4NYTbRpqVdvPIFuSrRUBpQG9tm0bnxaBgp48TprhpNQUEV5eJuBhVd8WGJjqauDqSdCbB58joFtAbD6klWfIWbY2UKIJSeQVkMOIUBRUBdNA1p9BYQPGgX6OWlm7IOmEGERvchtUFVrIK+WeV2pIGnbaFqpihVkWkKBVwBdJ1fJCnCFefxaVlGDJ29ZaYuN8XyDCmRjhFRXUeg+guKwx1pLUakPhWBwkARZJjqLbmaGb2UPY4VvAGuNVFBnAoVkdoWBrogMQHe3EcxgDIVehya3AAAAtYKBb3xLFVSMbxRiYg5VjotHiEBNTZ15VCWhAAC0EylaA4DwAPwLQrQGg4tHY3D6qWeNl0yfJvqI2E2IkKJG+i5jiwQAAIEpACbGEFoDQHlATYa/Wi5HZHNw8nLBeWtLzYsAGVRga3BgUidzKTxWFbGBZoOOcJAwaGZkgalBmEBA2Ee7hbGDJKmLgQVmaOgmha0Psw4tj29UjWo7MYVoeg5rNH1Tha1kk4pXV0e8lm9rtEhXYWjxKbf6aIGBb35nZfHeecRrwz9xb6cUtHOyLXFraQSptduKgXDJJ+hjGQqDZka0Y1llsCYEcGFLMYVQZ152h2C1d1QUqYx5TW9XQFQGxgOfC/D8LmNwNHlzTWYDMMFUaGZSsYFog3Noa4GxrYWKb7R8fmt5w2kttIewg1c3g4NkN7RuM4EQM+2IjoiDxMRUsSSOr9j6tIqOiKlYZILEqSN/r4j6sGQzvLxgIlrFxVrtBATMWleiBMUmV1oExbu7y34AktVWfX2HakFGd1Wddymp2SZ0dGj8g1VIy8v8OSluQWhWZATBZAFvqTtIGGoDZDsDgzkYaME6ZEi0hVZaWsjIcDMEIkyIhb4FEUsOcCJLRMTPRJBmZkZWPXDxIV/6cDw/KSlWVVEGQktFBCYnbidEVNmIf4tkRzFVV2SnDmZkcH5UeFVgfF5SfODR+n2BkIGB+oEmJCRzY5VaCngnkCbZi0KwsCkFWmrcitwvn28paNg3LwTZV29NU2gmkkEph2MmJHNqi7AKQpBqby8EU7LsZOxksrJkkTmwObJkkWsDEWtxLXONWnEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + private const val INDEXES = "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" - private const val PADDING = "sAlTZpcEKA/FhiLQhAcBMkKABC1oSXn8s5OHkohuNN6JKomAyi40vJQZjzUJj7oBaAGAA4xMcJZyYQvOTJhQ0BOM4SEBO+IiqQvbwayDMEb0mtjAaq3evSDC8mubIR8MTnE7iOojFMgbDje7ogAQQ6nRYbg8S50M6X2CwuaRCzUkYCEIMuuBDIg0YsLiwDhVwDoUJQsExi4s0wtAwNF+BINKSGiCUAWO1eYzxL7ml+uf3oEon7hPQqhiJHcY2Vwc6VmQ6pKoo2QVF3agYvRLzGAM+CKx7QWKZylumhptEfdCWeLXphhdtrKTxwdvRS4kKAQB0D4PQpmiATIAJdRYtAUygKZn2ySUC2W578xSWUUYOJnFBP1n4yNPgA9Hz+jhDsDpQEgEiSoKwmqlDAAXtbGQVKwQNJFEIgImMIrczYgBJFHKtYElCDB3guduVgRgQ9U7hkBigJpwfRNI7AohABIBbOxpMhzQY6gP9lO3EwHLRc0PpTKnemFPLWBmDaRUo8aiCpoElJKhVGnedsFsshBSodqa4ybgGWlZY17KiorJFipvkGQQBdzBcISIo1OgQVzeR1VCYeJhIDXubjxsDNiPcBfw16kwqkRAxJGGKCgDZALRpLVKQELWA2p7oi5vFwq6ghBQKDEIcEKcMIkioqSAVCohFAEIFaSMJUOJYCEFLBOHMJVey9IpCxHLAKIRShSICKTIAIBCkEyAJwEBwJfKPQshiGBOBxkg26QCfeI4GgNCKfFsM8H8vonllpcHJ5o/IkqyMKckwPFAJ1aJHYMUAAAmIWApl8uhCugy7AIqRCAZwlPanHvsahcDADkgFOYInvwDEpmwPhQoaRuysDJfAoh1gLFPPlnGroCn2kAok5c1tZHKT9UIIRRZgsgpdj/xWZHteAeRceQUbYBvJfOtoLPculnh5pwLcDiN2F4hIJgAHEA0qMHi2QdEBhACgwzArUAXaSmJGIWICSrPRIC+OAzUQAjIsBK6OEpK2cuANXqZHRVOUGCYAQbR8GAxAQ4vSSGuSAjE0EKnYHr0dwwnDVC1FAYp5IwgENGClYDPoU6LbMq7DLl76UMGF1Ti/BTBBxjy5JARIkERAGMIwBQCgSXooHdoSYI6KoThk//wM/UoQB1xULRFxBtCITEAAAAAAAAAAAAAAAA=" + private const val PADDINGS = "sAlTZpcEKA/FhiLQhAcBMkKABC1oSXn8s5OHkohuNN6JKomAyi40vJQZjzUJj7oBaAGAA4xMcJZyYQvOTJhQ0BOM4SEBO+IiqQvbwayDMEb0mtjAaq3evSDC8mubIR8MTnE7iOojFMgbDje7ogAQQ6nRYbg8S50M6X2CwuaRCzUkYCEIMuuBDIg0YsLiwDhVwDoUJQsExi4s0wtAwNF+BINKSGiCUAWO1eYzxL7ml+uf3oEon7hPQqhiJHcY2Vwc6VmQ6pKoo2QVF3agYvRLzGAM+CKx7QWKZylumhptEfdCWeLXphhdtrKTxwdvRS4kKAQB0D4PQpmiATIAJdRYtAUygKZn2ySUC2W578xSWUUYOJnFBP1n4yNPgA9Hz+jhDsDpQEgEiSoKwmqlDAAXtbGQVKwQNJFEIgImMIrczYgBJFHKtYElCDB3guduVgRgQ9U7hkBigJpwfRNI7AohABIBbOxpMhzQY6gP9lO3EwHLRc0PpTKnemFPLWBmDaRUo8aiCpoElJKhVGnedsFsshBSodqa4ybgGWlZY17KiorJFipvkGQQBdzBcISIo1OgQVzeR1VCYeJhIDXubjxsDNiPcBfw16kwqkRAxJGGKCgDZALRpLVKQELWA2p7oi5vFwq6ghBQKDEIcEKcMIkioqSAVCohFAEIFaSMJUOJYCEFLBOHMJVey9IpCxHLAKIRShSICKTIAIBCkEyAJwEBwJfKPQshiGBOBxkg26QCfeI4GgNCKfFsM8H8vonllpcHJ5o/IkqyMKckwPFAJ1aJHYMUAAAmIWApl8uhCugy7AIqRCAZwlPanHvsahcDADkgFOYInvwDEpmwPhQoaRuysDJfAoh1gLFPPlnGroCn2kAok5c1tZHKT9UIIRRZgsgpdj/xWZHteAeRceQUbYBvJfOtoLPculnh5pwLcDiN2F4hIJgAHEA0qMHi2QdEBhACgwzArUAXaSmJGIWICSrPRIC+OAzUQAjIsBK6OEpK2cuANXqZHRVOUGCYAQbR8GAxAQ4vSSGuSAjE0EKnYHr0dwwnDVC1FAYp5IwgENGClYDPoU6LbMq7DLl76UMGF1Ti/BTBBxjy5JARIkERAGMIwBQCgSXooHdoSYI6KoThk//wM/UoQB1xULRFxBtCITEAAAAAAAAAAAAAAAA=" - private const val OFFSET_PADDING_START = 14000 + private const val OFFSET_PADDING_START = OFFSET_ENCODING_PART_DIFFERENCE * 2 override val indexesBase64: String - get() = INDEX + get() = INDEXES override val paddingsBase64: String - get() = PADDING + get() = PADDINGS override val offsetPaddingStart: Int get() = OFFSET_PADDING_START diff --git a/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingMiddle.kt b/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingMiddle.kt index c426b3f..ea4fdd5 100644 --- a/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingMiddle.kt +++ b/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingMiddle.kt @@ -1,6 +1,7 @@ package org.ks.chan.c2pinyin.decode.encoding import org.ks.chan.c2pinyin.decode.Encoding +import org.ks.chan.c2pinyin.decode.OFFSET_ENCODING_PART_DIFFERENCE /** * [EncodingMiddle] @@ -8,19 +9,17 @@ import org.ks.chan.c2pinyin.decode.Encoding **/ internal data object EncodingMiddle: Encoding() { - private const val INDEX = "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" + private const val INDEXES = "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" - private const val PADDING = "gPahBQdooCHuCvntL1QEZBFFSIIBgksg8dgDWvJDsV0k9gYAcPlxQQij4QDSBDAESIaKROrBTQIhOKHHIuht1KJMRE8ouYfX0DQEyGcoDgoAtpEgzxinABK1Gn8lFygrPjIsw4K/CapmBKJD3nFDgjCQG0uopSn9gpRb7JAFB5DDoYA4KAf7pg1H81bCcDACyRSoImtuLvjlaS/FKQKqAl/zymTkQoDXTkfOf3sIbHjIhY4MJJMAEboiFi5i2rQkprGrPJkDMEFDcjMEzIKyYQZ+gBEAqwqEmk+AkBIXYxaB6AbGdkVBABsXLLYN6vx/vISp4Ii0WxGAIvRXFVAMP9LPXTBuPsccgrktoj66pGaGt2MPi4gouEYopoU8DMRBAgknxUdBAxBmgTJBIuPQYCHIZ0/OjRCUR6j3xYw1AwHgLvgALVoegCaiQhGG+GSAvcsRymGeDEviBBARE3Fdttl8KmKS8NhyDABGLq7BLtQEUkAgAJhC5pzzExtwiMhCCBAwBSIIwAN4iilBGpi1VJzJWkGA3eLF0kBY9sGARDwCLPADAAYAQIIMAWosNpUJTAQD0g0O0CfndGMSXhtwrJUGYAaYCuF4BFCaHkkxQEDFvAWJJgQIeoTbCIARDMRkYhzUBGYMwJRgFlcIjhhzFgUQGE0QjAlFMCGiIO/1ysft8JoKIqhev5zUKni3nznJwMBv5hox9DgGzsBpB4bSi5kqA7lbM402Ig7fGwNII2AGZxYDJqJ+QhcwSEAIunCGKAPuL5AIlIcERBm3U0Qi0BiBCkChC1ISCQBtgARhBzdx4KjHNWGRANu2kCAgLpPQrBgwSahc38gyJUptax6mApiUd5aQvddgFJi6FQjs0dSM2KihGx4N+bf+wEuwtex8UTMaQA8GW+gFWjky2/JjJIR6NVp6ixQFGQTboBS8XRoQEHcMyBCkI1mfN1egAhV/mKwNKFAhYBoxIAhRB5FTQcAwEJyw/yfwkwwYHeMfzJIzeSChSabIoBMzDgIiQGgg6qDdFeT4QgBomsDKDUkMWdKkBBhv23kf9EyAmECygoFBECDMFDF46byFypCjrMg3BaZ4BpACBTiGCwAns4mgggmozGJ0iuQgHdkQeAdJCAKFaDCgcxBAXRTwe7ZBnAvgB1GRXHNLIHc4mVI=" - - private const val OFFSET_PADDING_START = 7000 + private const val PADDINGS = "gPahBQdooCHuCvntL1QEZBFFSIIBgksg8dgDWvJDsV0k9gYAcPlxQQij4QDSBDAESIaKROrBTQIhOKHHIuht1KJMRE8ouYfX0DQEyGcoDgoAtpEgzxinABK1Gn8lFygrPjIsw4K/CapmBKJD3nFDgjCQG0uopSn9gpRb7JAFB5DDoYA4KAf7pg1H81bCcDACyRSoImtuLvjlaS/FKQKqAl/zymTkQoDXTkfOf3sIbHjIhY4MJJMAEboiFi5i2rQkprGrPJkDMEFDcjMEzIKyYQZ+gBEAqwqEmk+AkBIXYxaB6AbGdkVBABsXLLYN6vx/vISp4Ii0WxGAIvRXFVAMP9LPXTBuPsccgrktoj66pGaGt2MPi4gouEYopoU8DMRBAgknxUdBAxBmgTJBIuPQYCHIZ0/OjRCUR6j3xYw1AwHgLvgALVoegCaiQhGG+GSAvcsRymGeDEviBBARE3Fdttl8KmKS8NhyDABGLq7BLtQEUkAgAJhC5pzzExtwiMhCCBAwBSIIwAN4iilBGpi1VJzJWkGA3eLF0kBY9sGARDwCLPADAAYAQIIMAWosNpUJTAQD0g0O0CfndGMSXhtwrJUGYAaYCuF4BFCaHkkxQEDFvAWJJgQIeoTbCIARDMRkYhzUBGYMwJRgFlcIjhhzFgUQGE0QjAlFMCGiIO/1ysft8JoKIqhev5zUKni3nznJwMBv5hox9DgGzsBpB4bSi5kqA7lbM402Ig7fGwNII2AGZxYDJqJ+QhcwSEAIunCGKAPuL5AIlIcERBm3U0Qi0BiBCkChC1ISCQBtgARhBzdx4KjHNWGRANu2kCAgLpPQrBgwSahc38gyJUptax6mApiUd5aQvddgFJi6FQjs0dSM2KihGx4N+bf+wEuwtex8UTMaQA8GW+gFWjky2/JjJIR6NVp6ixQFGQTboBS8XRoQEHcMyBCkI1mfN1egAhV/mKwNKFAhYBoxIAhRB5FTQcAwEJyw/yfwkwwYHeMfzJIzeSChSabIoBMzDgIiQGgg6qDdFeT4QgBomsDKDUkMWdKkBBhv23kf9EyAmECygoFBECDMFDF46byFypCjrMg3BaZ4BpACBTiGCwAns4mgggmozGJ0iuQgHdkQeAdJCAKFaDCgcxBAXRTwe7ZBnAvgB1GRXHNLIHc4mVI=" override val indexesBase64: String - get() = INDEX + get() = INDEXES override val paddingsBase64: String - get() = PADDING + get() = PADDINGS override val offsetPaddingStart: Int - get() = OFFSET_PADDING_START + get() = OFFSET_ENCODING_PART_DIFFERENCE } \ No newline at end of file diff --git a/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingUpper.kt b/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingUpper.kt index 7456e8f..aaee859 100644 --- a/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingUpper.kt +++ b/src/main/kotlin/org/ks/chan/c2pinyin/decode/encoding/EncodingUpper.kt @@ -8,14 +8,14 @@ import org.ks.chan.c2pinyin.decode.Encoding **/ internal data object EncodingUpper: Encoding() { - private const val INDEX = "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" + private const val INDEXES = "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" - private const val PADDING = "sU/IJakpYA2GOgKGQyG4gBBP01xLKDbOEyLxZiAnNRnJJcLpHC+ol4Wqn5caoADMl7ADdEVAJA9nSrLCH1FEMprESRWRsCh8KXatVN+YpyXahgz9MOTy6ALcWcCIQpygmWAMKICXMRrfQfCDYEUUqlAikqMcIkBQygRBQQAAYIEYQUpCCQTAAYgFEBRHIgkRMIAoNMLygIOAKcA+lCONjQEJEDAYEJAt57kdCKlpV5uh/JiaTmT4jhNZ/NICFV0D4hAXxgxQHkkBggrRYi+ZjgyIjHBwWYetrCYKgALJDEFDmXMEDMuBdnL4IEOpORoVdpCfEI8mXQymK2hUTkYg6MAIYQEWmXIYh8xI5gpci8iogRBFKEDSDAU5g45NIhzRUufsmZ+bGAA7IAlI6VEiQgIYkISpIcCwwKACk0pK0ikEIoGCiJhBCsBYt8VWegBwoBLk0IM4oYDwUEg40tgzqifM6TIQZ7ogEISoRUwoAEJW5GGxsobzIAp+vC4BJcTNa0wKSJP9VwYAGkdBCTLSx88Cw/rZYPsAXTWgWigQoA1MB6eBINIRo+Fj4XJDCE1F7H2F2rqns4IqBRojVA8WjBSfgo6dLgFDiGtq0ImwDtpSg0DhkEsZAh0IrqIqTJjiMAJkgNyku34J5rxNExuCAZ1mUoHUXaV5xLTARUKI7SUlmUOWsT24ClsADYkAAAE1VpESIb9jQH8FSSJyAsH7AITbJkZF2CcggEBAef5AMwfLogWiBuwxCF1hhzX1V4wODuGQYI5Rk4scFnjDWNACo+EWJc1hWACIIhh50SwAHMeYixIkB91gm+1qAsAyqHNCNkHAiwREXCk5U6AGIFsAw4j2AgFBqCcE8dyQk7AYI01C+S7BgPIRURgAaAogonhiiAhL9EjCBm4kQw62YAEZ4SmRyFJEK4JIMnr5tCMQXsWIc1K1g4UuVbUuEAEpsPSEEOwkUgCBi0jiUCRIFg+EyrogZDE0gUiBECEUASpiUR3jSVDRRt4vtQiIS9EhP1SniSD6tgvpg1CltD7sHT4fF9dBBw0iGETCsduDG8hwL4kVBzkYD+QGYq22XKJCGRhVDSJ16QxiLngGJNhvGgDikjEDLxarlpAkqNhHlwe+YCEcOjikpLBNMAIAoBiV/ohDIeQYQiBoTV9NFzQ=" + private const val PADDINGS = "sU/IJakpYA2GOgKGQyG4gBBP01xLKDbOEyLxZiAnNRnJJcLpHC+ol4Wqn5caoADMl7ADdEVAJA9nSrLCH1FEMprESRWRsCh8KXatVN+YpyXahgz9MOTy6ALcWcCIQpygmWAMKICXMRrfQfCDYEUUqlAikqMcIkBQygRBQQAAYIEYQUpCCQTAAYgFEBRHIgkRMIAoNMLygIOAKcA+lCONjQEJEDAYEJAt57kdCKlpV5uh/JiaTmT4jhNZ/NICFV0D4hAXxgxQHkkBggrRYi+ZjgyIjHBwWYetrCYKgALJDEFDmXMEDMuBdnL4IEOpORoVdpCfEI8mXQymK2hUTkYg6MAIYQEWmXIYh8xI5gpci8iogRBFKEDSDAU5g45NIhzRUufsmZ+bGAA7IAlI6VEiQgIYkISpIcCwwKACk0pK0ikEIoGCiJhBCsBYt8VWegBwoBLk0IM4oYDwUEg40tgzqifM6TIQZ7ogEISoRUwoAEJW5GGxsobzIAp+vC4BJcTNa0wKSJP9VwYAGkdBCTLSx88Cw/rZYPsAXTWgWigQoA1MB6eBINIRo+Fj4XJDCE1F7H2F2rqns4IqBRojVA8WjBSfgo6dLgFDiGtq0ImwDtpSg0DhkEsZAh0IrqIqTJjiMAJkgNyku34J5rxNExuCAZ1mUoHUXaV5xLTARUKI7SUlmUOWsT24ClsADYkAAAE1VpESIb9jQH8FSSJyAsH7AITbJkZF2CcggEBAef5AMwfLogWiBuwxCF1hhzX1V4wODuGQYI5Rk4scFnjDWNACo+EWJc1hWACIIhh50SwAHMeYixIkB91gm+1qAsAyqHNCNkHAiwREXCk5U6AGIFsAw4j2AgFBqCcE8dyQk7AYI01C+S7BgPIRURgAaAogonhiiAhL9EjCBm4kQw62YAEZ4SmRyFJEK4JIMnr5tCMQXsWIc1K1g4UuVbUuEAEpsPSEEOwkUgCBi0jiUCRIFg+EyrogZDE0gUiBECEUASpiUR3jSVDRRt4vtQiIS9EhP1SniSD6tgvpg1CltD7sHT4fF9dBBw0iGETCsduDG8hwL4kVBzkYD+QGYq22XKJCGRhVDSJ16QxiLngGJNhvGgDikjEDLxarlpAkqNhHlwe+YCEcOjikpLBNMAIAoBiV/ohDIeQYQiBoTV9NFzQ=" override val indexesBase64: String - get() = INDEX + get() = INDEXES override val paddingsBase64: String - get() = PADDING + get() = PADDINGS } \ No newline at end of file