How to make an injective function $ f $ such that $ f : \left[0,1\right]\rightarrow2^\mathbb{N} $ using binary notation? $ 2^\mathbb{N} $ is a power set of $ \mathbb{N} $.
By using binary notation, we can take $ x\in\left[0,1\right]$ and $ x=0.a_1a_2a_3\cdots\left(a_n\in\left\{0,1\right\}\right) $
Then we can make a set $ A=f(x) $ as an element of $ 2^\mathbb{N} $ following next rules:

$n\in A $ when $ a_n=1 $ and $ n\notin A $ when $ a_n=0 $

For example,
$$\begin{align*}
0.00000\cdots&\longmapsto\emptyset\\[5pt]
0.10000\cdots&\longmapsto\left\{1\right\}\\[5pt]
0.01000\cdots&\longmapsto\left\{2\right\} \\[5pt]
0.01111\cdots&\longmapsto\left\{2,3,4,\cdots\right\} \\[5pt]
0.10111\cdots&\longmapsto\left\{1,3,4,5,\ \cdots\right\} \\[5pt]
\end{align*}$$
This seems nice. However, since $ 0.10000\cdots=0.01111\cdots $, there exist two $ f(x) $ for same $ x$. I can't fix this problem and I've been thinking of this all night.. How can I make the injective function $ f $ with solving this?

First define an equivalence relation between the binary representations such that $x:=0.a_1a_2 \cdots \sim y:=0.b_1b_2 \cdots \iff x=y$. Then using the function that you defined above we have an injection from $[0,1]/ \sim \, \mapsto 2^{\mathbb{N}}$ where we choose the representative of each equivalence class as the one which has infinitely many 0s (each class will have one expansion ending in all 0s, and one expansion ending in all 1s; choose the first one).
It's important to note that there are only a countable number of binary expansions which end in infinite 1s, and each equivalence class contains at most two elements and so the cardinality of our quotient set is $\aleph$
