What is Nostr?
CXPLAY
npub1gd8…h58h
2024-10-05 05:14:48
in reply to nevent1q…tv7e

CXPLAY on Nostr: 调整预览描述的时候考虑到了多个平台的字数限制, ...

调整预览描述的时候考虑到了多个平台的字数限制, 取了最少的那个也就是 Telegram Desktop 的限制(50 个字). 但 njump 内部计算网页描述使用的 len() 是计算的字节数量(区别于 Python 中的是计算的字符数), 也就是说如果我要限制 50 个汉字那么按理说设置为 150 就好了.

但是由于笔记中的内容不可能全部是完整的 3 字节汉字, 还可能包含其他非 3 字节的单个字符, 于是往往最后一个汉字都被截取后变成了乱码, 这种情况还好解决, 直接再加一个替换把乱码替换掉就是了.
还有一种情况是换行符, 虽然换行符也就最多两个字节, 但是实际表现在链接预览中的时候是直接占用了整行文本的显示区域, 如果某平台链接预览描述一行最多显示 10 个字, 那么一个换行符就会直接占掉了这 10 个字的显示面积, 导致后续的文本即使还在 150 字节的范围内, 也会大概率因为显示的空间不足而被省略. 除非单独把换行符拿出来计算后再和整体去掉换行符的文本加算.

不管了, 就这样吧, 能用就行. :bili_fantastic:
Author Public Key
npub1gd8e0xfkylc7v8c5a6hkpj4gelwwcy99jt90lqjseqjj2t253s2s6ch58h