2022 年 7 月 4 日更新

本文可能没有什么参考价值,所以已作废。


(本文描述的内容对属于公有领域的文章不起作用,公有领域的文章的作者相当于放弃了著作权,不必担心著作权被侵犯)

(本文描述的方法只防小人不防聪明人,聪明人一般是不会侵犯著作权)

前言

有些人自己不会制造有质量的文章,盗取别人的文章归为己有,最近我了解到了一种叫做“零宽字符”的字符,它虽是字符,占字节,占字符串长度,但它在一般情况下不能被打印,一般人看不到,不通过特殊方法就能看到的人,建议主动去实验室为人类做出贡献。

中文维基百科这样介绍零宽字符(零宽字符有很多种,我挑选了“零宽空格”的页面):

零宽空格(zero-width space, ZWSP)是一种不可打印的Unicode字符,用于可能需要换行处。

想到近年来人们对著作权的不重视,我就想到了可以利用零宽字符来当作著作权被侵犯时的证据。

实现

上文提到零宽字符有很多种(超过了两种),计算机保存的所有数据都是二进制,那么我们可以拿不同的零宽字符来当作二进制中的“0”和“1”。

本文挑选了零宽空格(U+200B)和零宽不连字(U+200C)和零宽连字(U+200D)(当作空格使用)。

编码

下面使用 Python 实现将著作权信息转换成零宽字符:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
zero = '\u200B' # 定义 0 转换成的零宽字符
one = '\u200C' # 定义 1 转换城的零宽字符

# 为了方便复制,要把著作权信息夹在两个文本之间
ex = 'a' # 著作权信息前的文本
after = 'b' # 著作权信息后的文本

copyrightText = '本文作者是张三,张三拥有本文著作权,转载请通过张三允许,谢谢配合。' # 著作权信息
copyrightText = [ ord(text) for text in copyrightText ] # https://docs.python.org/zh-cn/3/library/functions.html#ord
copyrightText = [ bin(text) for text in copyrightText ] # https://docs.python.org/zh-cn/3/library/functions.html#bin
copyrightText = [ text.replace('0b', '') for text in copyrightText ]

replacedText = [ text.replace('0', zero).replace('1', one) for text in copyrightText ]

print(ex + '\u200D'.join(replacedText) + after)

解码

解码非常简单,所以本文不再解码的举例子。

总结

目前著作权应该是全人类都该遵守的东西,没有了著作权意味着创作一切内容都是没有价值的。

使用本文介绍的方法很浪费空间,一般也没必要把著作权信息弄那么复杂。

我的所有文章都没用到这种方法,我相信我文章的读者都会遵守我的文章的著作权(我的文章没啥人看,我也不担心有人侵犯我的文章的著作权)。