When should i use it? In what situations? For example, if they explain something to me or ask me not to do something, then these words are interchangeable or not, what shade?
6 Answers
明白了sounds a bit more polite than 知道了. It's subtle but if you are losing your patience and want the listener to stop repeating him/herself immediately, use 知道了. If you want to politely assure the listener that he/she has made him/herself sufficiently clear, use 明白了, or 懂了.
It's similar to the subtle difference between "OK" and "no problem".
These are my opinions,
我明白了 = I understand (what you were saying) now.
我知道了 = I hear you/okay, fine.
如果你问知道和明白之间的区别:我们可以知道一些我们不明白的东西,比如量子力学,但我们不能明白一些我们不知道的东西。
If you are asking about the difference between know and understand: We can know about something which we don't understand, such as Quantum Mechanics, but we can't understand something we don't know.
知道某事是明白某事的第一步。如果你知道的事情很简单,那么知道就是明白:如果一个人结婚了,就意味着这个人有了丈夫或妻子。
To know about something is the first step to understanding something. If the thing you know about is simple, to know is to understand: If someone is married that means that person has a husband or wife.
我知道了一个埋藏多年的秘密。
I know a secret which has been hidden for many years.
To know about something does not automatically mean you understand it.
*我明白了一个埋藏多年的秘密。
*I understand a secret which has been hidden for many years.
They are the same and interchangeable.
The subtle nuances are '明白了' means you comprehend the information, and '知道了' means you received the information.
So you can 知道但不明白, but you can't 明白但不知道, because you can't understand something when you don't know it yet.